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.
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é.
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.
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.
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.
Xin chào, tôi tên là Hoài - một anh Dev kể chuyện bằng cách viết ✍️ và làm sản phẩm 🚀. Với nhiều năm kinh nghiệm lập trình, tôi đã đóng góp một phần công sức cho nhiều sản phẩm mang lại giá trị cho người dùng tại nơi đang làm việc, cũng như cho chính bản thân. Sở thích của tôi là đọc, viết, nghiên cứu... Tôi tạo ra trang Blog này với sứ mệnh mang đến những bài viết chất lượng cho độc giả của 2coffee.dev.Hãy theo dõi tôi qua các kênh LinkedIn, Facebook, Instagram, Telegram.
Bình luận (0)