Docker - Các Registries Riêng tư
Giới thiệu về Docker Registries
Xin chào các bạnfuture Docker masters! Hôm nay, chúng ta sẽ cùng lặn vào thế giới kỳ diệu của Docker registries. Đừng lo lắng nếu bạn là người mới bắt đầu; tôi sẽ hướng dẫn bạn từng bước một, giống như tôi đã làm cho hàng trăm học viên trong những năm dạy học của mình. Hãy bắt đầu hành trình của chúng ta!
Một Docker registry giống như một thư viện cho các Docker images của bạn. Đây là nơi bạn có thể lưu trữ, quản lý và phân phối các images này. Hãy tưởng tượng nó như một kệ sách nơi bạn để tất cả các cuốn sách yêu thích (hoặc trong trường hợp này, Docker images) một cách ngăn nắp và dễ dàng tiếp cận.
Các Loại Docker Registries
Có hai loại Docker registries chính:
- Public registries (như Docker Hub)
- Private registries
Hôm nay, chúng ta sẽ tập trung vào private registries. Nhưng tại sao bạn lại muốn một registry riêng tư? Hãy tưởng tượng bạn đang viết một công thức bí mật. Bạn không muốn đăng nó lên một bảng thông báo công khai, phải không? Đó là lúc private registries phát huy tác dụng!
Thiết lập một Registry Riêng tư
Hãy cuộn lên áo và thiết lập registry riêng tư của chúng ta. Nó dễ dàng hơn bạn nghĩ!
Bước 1: Kéo Image Registry
Đầu tiên, chúng ta cần kéo image registry chính thức từ Docker Hub. Mở terminal và gõ:
docker pull registry:2
Lệnh này giống như yêu cầu thư thư viện mang đến cuốn "registry" từ thư viện "Docker Hub".
Bước 2: Chạy Container Registry
Bây giờ, hãy khởi động registry của chúng ta:
docker run -d -p 5000:5000 --name my-registry registry:2
Hãy phân tích này:
-
-d
: Chạy container trong chế độ tách biệt (trên nền) -
-p 5000:5000
: Gán cổng 5000 của container vào cổng 5000 trên máy chủ của bạn -
--name my-registry
: Đặt tên container của chúng ta là "my-registry" -
registry:2
: Image chúng ta sử dụng để tạo container
Chúc mừng! Bây giờ bạn đã có một registry riêng tư đang chạy trên máy của bạn.
Push Images vào Registry Riêng tư của Bạn
Bây giờ chúng ta có registry, hãy đặt một số images vào trong nó!
Bước 1: Đặt Tag cho Image
Trước tiên, chúng ta cần đặt tag cho một image để liên kết nó với registry của chúng ta:
docker tag my-image:latest localhost:5000/my-image:latest
Điều này giống như dán một tem đặc biệt lên cuốn sách để cho thấy nó thuộc thư viện riêng tư của bạn.
Bước 2: Push Image
Bây giờ, hãy push image này vào registry của chúng ta:
docker push localhost:5000/my-image:latest
Bạn vừa thêm cuốn sách đầu tiên vào thư viện riêng tư của bạn!
Kéo Images từ Registry Riêng tư của Bạn
Để sử dụng một image từ registry riêng tư của bạn, bạn có thể kéo nó như sau:
docker pull localhost:5000/my-image:latest
Đó là đơn giản! Bạn bây giờ đang lấy sách từ thư viện riêng tư của bạn.
Bảo mật Registry Riêng tư của Bạn
Bây giờ, chúng ta không muốn bất kỳ ai có thể truy cập thư viện riêng tư của chúng ta, phải không? Hãy thêm một chút bảo mật.
Sử dụng Xác thực Cơ bản
Dưới đây là cách thiết lập xác thực cơ bản:
- Tạo một file mật khẩu:
docker run --entrypoint htpasswd registry:2 -Bbn myuser mypassword > auth/htpasswd
- Chạy registry với xác thực:
docker run -d \
-p 5000:5000 \
--name secure-registry \
-v "$(pwd)"/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
registry:2
Bây giờ registry của bạn được bảo vệ bằng tên người dùng và mật khẩu!
Các Lệnh Docker Registry Hữu Ích
Dưới đây là bảng các lệnh bạn có thể thấy hữu ích:
Lệnh | Mô tả |
---|---|
docker pull registry:2 |
Kéo image registry |
docker run -d -p 5000:5000 --name my-registry registry:2 |
Chạy container registry |
docker tag image:tag localhost:5000/image:tag |
Đặt tag cho image cho registry local |
docker push localhost:5000/image:tag |
Push image vào registry local |
docker pull localhost:5000/image:tag |
Kéo image từ registry local |
docker search localhost:5000/ |
Tìm kiếm registry local |
Kết luận
Và thế là bạn đã có registry Docker riêng tư của mình! Hãy nhớ, thực hành làm cho hoàn hảo. Đừng ngại thử nghiệm và thử làm điều khác nhau. Ai biết? Bạn có thể khám phá điều gì đó mới mẻ và thú vị!
Trong những năm dạy học của mình, tôi đã thấy học viên từ người mới bắt đầu trở thành các pháp sư Docker. Với sự kiên nhẫn và kiên trì, bạn cũng sẽ đến được đó. Hãy tiếp tục push (pun intended) và chúc bạn vui vẻ với Dockering!
Credits: Image by storyset