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á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é.
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.
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:
- Nginx và Apache là gì? So sánh Nginx và Apache
- Cài đặt FTP server sử dụng Docker
- Cài đặt Apache Kafka sử dụng Docker Compose
Xem thêm Việc làm IT hấp dẫn trên TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước
- D Display CSS là gì? Cách khai báo và sử dụng thuộc tính display trong CSS