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

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

Tin ngắn hàng ngày dành cho bạn
  • Rust sinh ra để tái định nghĩa nhiều thứ. Trong đó chắc phải kể đến JavaScript. Từ đầu năm đến giờ các công cụ làm từ Rust mà để cho JavaScript dùng đếm sương sương cũng vài ba cái rồi. Mới đây nhất là Oxc.

    Oxc là một công cụ phân tích cú pháp (parser), kiểm tra lỗi (lint), định dạng (formatter), chuyển đổi (transformer), minifier... tất cả đều được viết bằng Rust, trong một công cụ duy nhất.

    Mặc dù vẫn đang trong quá trình xây dựng nhưng thử nhìn điểm hiệu năng của nó so với swc hoặc eslint mà xem 🫣

    » Xem thêm
  • Mấy hôm nay, à mà cũng không hẳn, do sự kiện WWDC vừa rồi nên Apple lại bị dân cư mạng mang ra bàn tán rằng rốt cục thì các tính năng AI của họ đang ở đâu? Trong khi các hãng khác đang lao mình vào việc mang AI lên thiết bị, phần mềm của họ thì Apple lại đang có vẻ... không quan tâm lắm.

    Thậm chí mới đây các nhà nghiên cứu của Apple cho rằng các mô hình LLM sẽ "sụp đổ hoàn toàn về độ chính xác" khi được đưa ra các vấn đề cực kỳ phức tạp. Chỉ ra rằng suy luận chỉ là huyễn hoặc thì ngay lập tức đã có nhiều bài phản bác nghiên cứu này. Một lần nữa cho thấy rằng Apple đang suy nghĩ điều gì với AI trên thiết bị của họ?

    Mình thì nghĩ đơn giản thôi, Apple có vẻ đang gặp khó khăn với việc tạo ra AI cho riêng họ. Tức là khó khăn ngay từ đoạn thu thập dữ liệu để đào tạo rồi. Họ luôn tỏ ra tôn trọng quyền riêng tư của người dùng nên chẳng lẽ lại lên mạng đi xào nấu dữ liệu ở khắp nơi, hoặc "chôm" dữ liệu dưới máy người dùng lên? Chắc chắn, họ cũng không muốn cung cấp thêm dữ liệu người dùng cho các bên thứ 3 như OpenAI.

    Nhưng nhờ những khó khăn này biết đâu họ lại tìm ra được hướng đi mới. Ai cũng chọn phần dễ thì gian khổ để phần cho ai 😁. À mình không phải là "fan" của Apple, chỉ là thấy cái nào phù hợp thì dùng thôi 🤓

    » Xem thêm
  • Người "nhạy cảm" với markdown đó là khi thấy một thư viện tạo khung soạn thảo mới là nhảy ngay vào xem nó có gì mới. Milkdown/milkdown là một ví dụ.

    Xem thử thì thấy ổn phết mọi người ạ. Vài nữa thử tích hợp vào opennotas xem sao. Mang tiếng là ứng dụng ghi chú hỗ trợ markdown cơ mà cái thư viện tiptap nó không chịu làm thêm phần hỗ trợ markdown 😩. Dùng thư viện ngoài thì vẫn chưa ngon cho lắm.

    » Xem thêm

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é.

Access Token

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.

Container Registry

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.

Cao cấp
Hello

Bí mật ngăn xếp của Blog

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.

Bình luận (0)

Nội dung bình luận...