Sử dụng miễn phí Docker Registry của Gitlab

Bài viết được sự cho phép của tác giả Tống Xuân Hoài

Vấn đề

Bạn có đang sử dụng Docker trong số các dự án nào đang tham gia không? Nếu có thì chắc hẳn vấn đề lưu trữ và chia sẻ Images cần phải được giải quyết, đơn giản bởi vì Registry mặc định của Docker giới hạn số lượng các hình ảnh riêng tư (Private Images). Điều đó có nghĩa là nếu có nhiều dự án thì bắt buộc bạn phải public số hình ảnh đó cho cộng đồng, mà chắc chắn là không phải ai cũng muốn vì dự án của chúng ta cần tính riêng tư.

Thông thường, có người sẽ chi trả khoản phí cho Docker để nhận được nhiều Private Images hơn, bên cạnh đó cũng có người chọn giải pháp tự triển khai cho mình một Registry để lưu trữ toàn bộ hình ảnh nội bộ của công ty, Docker rất “hào phóng” khi họ sẵn sàng cung cấp cho mọi người sử dụng mã nguồn mở để tự tạo registry lưu trữ. Chi tiết bạn đọc có thể xem tại Docker Registry.

Nếu bạn chỉ là một người dùng cá nhân và không có khả năng chi trả phí dịch vụ, cũng như không có tài nguyên để tự tạo cho mình một Registry thì đây là bài viết dành cho bạn, Gitlab hiện tại đang cung cấp kho Registry hoàn toàn miễn phí, tất cả những gì cần làm là có một tài khoản Gitlab.

  Cài đặt Redis sử dụng Docker

  Deploy ứng dụng load balancer sử dụng Nginx với Docker

Cách sử dụng

Registry mà Gitlab cung cấp hiện tại đang gắn với Repository, có nghĩa là để sử dụng chúng ta cần phải tạo Repos trước. Lúc này, Images sẽ đi theo Repository luôn, bạn lưu trữ bằng cách đẩy hình ảnh Docker lên trùng tên với Repository là Gitlab sẽ tự nhận.

Để sử dụng, chúng ta cần làm các bước như sau:

Bước 1: Tạo một Access Token bằng cách vào Profile > Preferences > Access Tokens. Nhập vào tên keys rồi nhớ chọn quyền read & write registry nhé.

 Sử dụng miễn phí Docker Registry của Gitlab

Sau khi tạo thành công nhớ lưu lại Access Tokens vào đâu đó để sử dụng cho lần sau.

Bước 2: Đăng nhập vào registry của Gitlab:

$ docker login registry.gitlab.com

Nhập username là tên đăng nhập Gitlab và password là Access Token đã tạo ở Bước 1.

Bước 3: Tạo một Repository trên Gitlab, ví dụ tôi tạo repos tên là “system”.

Bước 4: Build một Image bất kì, nhưng nhớ đặt tên trùng với Gitlab repository vừa tạo:

$ docker build -t gitlab.com/hoaitx/system:latest .

Bước 5: Push Image lên như bình thường.

$ docker push gitlab.com/hoaitx/system:latest

Bước 6: Kiểm tra Image đã lên Registry chưa bằng cách vào Repository vừa tạo > Deploy > Container Registry, bạn sẽ thấy tất cả Images cùng với tags ở đây.

 Sử dụng miễn phí Docker Registry của Gitlab

Registry này có thể pull, push như bình thường và đặc biệt nó là private registry cho nên bạn cần phải đăng nhập mới có thể thao tác được.

Limits

Một nỗi lo khi dùng các dịch vụ miễn phí đó chính là giới hạn của chúng trong khi sử dụng. Thật kì lạ là đối với Registry này của Gitlab không có bất kì một tài liệu cụ thể nào để cập đến giới hạn dung lượng lưu trữ của các Images. Tôi đã thử tìm kiếm và thấy có một câu hỏi trong cộng đồng đi đến kết luận là không hề có giới hạn nào cho việc lưu trữ!? Bạn đọc có thể tham khảo tại https://forum.gitlab.com/t/gitlab-saas-total-container-registry-size-limit/50808.

Bài viết gốc được đăng tải tại 2coffee.dev

Có thể bạn quan tâm:

Xem thêm Việc làm IT hấp dẫn trên TopDev