6 điểm bởi GN⁺ 2025-02-22 | 7 bình luận | Chia sẻ qua WhatsApp
  • Từ ngày 1 tháng 4 năm 2025, người đăng ký Pro, Team, Business có thể pull không giới hạn trong phạm vi nguyên tắc sử dụng hợp lý (Fair Use)
  • Giới hạn nghiêm ngặt sẽ được áp dụng cho người dùng chưa xác thực và người dùng Docker Personal
    • Người dùng chưa xác thực: 10 lượt Pull mỗi giờ (địa chỉ IPv4 hoặc subnet IPv6 /64)
    • Người dùng đã xác thực với tài khoản miễn phí (Personal): 100 lượt Pull mỗi giờ
  • Sử dụng hợp lý (Fair Use)
    • Docker Hub có thể giới hạn việc truyền dữ liệu quá mức, tốc độ pull image và dung lượng lưu trữ dữ liệu
    • Để duy trì chất lượng dịch vụ, nếu phát hiện mức sử dụng quá mức, Docker Hub có thể áp dụng giới hạn hoặc tính thêm phí

Giới hạn chống lạm dụng

  • Docker Hub đặt ra giới hạn chống lạm dụng để bảo vệ ứng dụng và hạ tầng.
  • Giới hạn này áp dụng cho mọi yêu cầu tới Hub, bao gồm trang web, API và image Pulls.
  • Giới hạn được áp dụng theo từng địa chỉ IPv4 hoặc subnet IPv6 /64, có thể thay đổi theo thời gian tùy theo tải và các yếu tố khác, nhưng ở mức hàng nghìn yêu cầu mỗi phút.
  • Giới hạn chống lạm dụng được áp dụng như nhau cho mọi người dùng, bất kể cấp độ tài khoản.
  • Có thể phân biệt giới hạn tốc độ Pull và giới hạn chống lạm dụng qua mã lỗi. Giới hạn chống lạm dụng trả về phản hồi 429 Too Many Requests, còn giới hạn Pull trả về thông báo lỗi dài hơn kèm liên kết tới tài liệu.

7 bình luận

 
wyatt216 2025-02-23

(Thay đổi)

  • Không đăng nhập: 10/1h
  • Đăng nhập (tài khoản miễn phí): 100/1h

(Trước đây)

  • Không đăng nhập: 100/6h
  • Đăng nhập (tài khoản miễn phí): 200/6h

Theo suy nghĩ cá nhân thì
Tôi nhớ là ở một số phiên bản, trong quá trình cài đặt Docker đã có bản buộc phải đăng nhập,
nên có vẻ đây cũng là động thái nhằm khuyến khích người dùng tạo tài khoản Docker.

 
wyatt216 2025-02-24

À, ở đây phiên bản Docker là Docker Desktop.

 
iolothebard 2025-02-23

Có vẻ giải pháp proxy & cache cho Docker registry sẽ trở thành thứ bắt buộc.

 
nemorize 2025-02-23

Thật ra điều gây ngạc nhiên hơn là đến giờ vẫn chưa hề có giới hạn nào...
Nhưng dù vậy thì giới hạn 10 lần mỗi giờ vẫn quá ít.
Đặc biệt là khá đáng tiếc khi các cấu hình docker-compose tham chiếu hơn 10 image sẽ không thể dùng mà không xác thực. (Ví dụ, supabase tham chiếu tổng cộng 12 image.)

 
wyatt216 2025-02-23

Trước đây tôi nhớ là có giới hạn như sau

  • Không đăng nhập: 100/6h
  • Đăng nhập (tài khoản miễn phí): 200/6h
 
nemorize 2025-02-23

À ha? Hóa ra trước giờ cũng đã có giới hạn rồi à lol

Nếu thay vì 10/1h mà chỉ giới hạn kiểu 60/6h, 30/3h thì có lẽ đã bớt đáng tiếc hơn, nhưng đúng như một bình luận khác đã nói, có vẻ mục đích thúc đẩy tạo tài khoản là khá lớn...

 
GN⁺ 2025-02-22
Ý kiến trên Hacker News
  • Không thể tin nổi cảm giác đương nhiên trong chủ đề này. Có vẻ như mọi người nghĩ băng thông mọc trên cây

    • Với mục đích dân dụng, trừ khi bạn sống trong một tòa chung cư đông đúc, việc dùng Docker để học tập hay làm sở thích có thể xem là chi phí marketing
    • Nếu bạn dùng registry trong văn phòng cho mục đích thương mại, bạn nên trả tiền để duy trì các dependency
    • Cũng như nhà máy điện không cung cấp điện miễn phí, không nên kỳ vọng một công ty thương mại sẽ cung cấp container miễn phí
  • Hệ thống cache theo layer của image OCI rất kém hiệu quả về băng thông

    • Thay đổi ở layer thấp hơn sẽ làm mất hiệu lực các layer phía trên
    • Nếu có chiến lược cache như nix hay bazel, có thể gửi git SHA và build image ở phía bên kia sẽ nhanh hơn
  • Tôi đang host image OSS và không có thông báo nào về thay đổi này

    • Nếu quyền truy cập bị hạn chế, lợi ích và động lực của các dự án đã thúc đẩy sự lan rộng của Docker và Docker Hub sẽ biến mất
    • Việc muốn biết người dùng là ai và trích xuất giá trị từ họ là quyền của họ, nhưng điều đó không tạo cảm giác thiện chí
  • Đã từng có nỗ lực thêm tùy chọn "ghi đè registry mặc định" vào Docker client

    • Nhưng phía upstream đã chặn việc này
    • Một bản fork chỉ để có tính năng nhỏ này đã bị trì hoãn rất lâu
  • Có điều tôi không hiểu về Docker

    • Base image có vai trò như một nguồn đáng tin cậy
    • Nếu dùng PaaS, bạn đáng lẽ phải có thể tải lên Docker image rồi lưu trữ và triển khai nó
    • Tôi không hiểu vì sao phải trả tiền chỉ để host Docker image
  • Bất lợi cho cá nhân và mã nguồn mở

    • Một vài giải pháp được đề xuất cho những người phụ thuộc vào Docker Hub
      • Dùng Google Artifact Registry để thiết lập pull-through mirror
      • Thiết lập private pull-through image registry cho image riêng tư
      • Thêm vào danh sách IP được phép trong Docker
      • Thiết lập Docker Hub mirror trong suốt
  • Văn hóa GitHub đã hơi phát điên vì những thứ như CI

    • Nếu dự án không thể gánh nổi chi phí máy chủ, tốt hơn nên dùng shell script cục bộ và pre-commit hook
  • Không tốt cho GitHub Actions

    • PR có thể thất bại, và rất khó hỗ trợ thông tin xác thực Docker trong workflow
  • Tôi đã chuyển sang AWS ECR Gallery trong cấu hình GHA

    • Có giải thích chi tiết trong bài blog
  • Có các giải pháp có thể cấu hình ở cấp mạng

    • Thậm chí cũng có thể cấu hình công khai và chia sẻ