Docker Registry là một dịch vụ mà bạn có thể tự lưu trữ (Trusted và Private) hoặc bạn có thể để docker hub là máy chủ cho dịch vụ này. Thông thường, nếu phần mềm của bạn là thương mại, bạn sẽ lưu trữ phần mềm này dưới dạng sổ đăng ký "Riêng tư và đáng tin cậy". Đối với các nhà phát triển Java, điều này hơi giống với thiết lập Maven Artifactory.
Docker Rep Kho là một tập hợp các hình ảnh "Được gắn thẻ". Một ví dụ là bạn có thể đã gắn thẻ 5 ubuntu:latest
hình ảnh:
a) Trình chỉnh sửa Nano (image1_tag: v1)
b) Một phần mềm cụ thể 1 (image1_tag: v2)
c) Sudo (hình ảnh1_tag: v3)
d) apache http daemon (image1_tag: v4)
e) tomcat (image1_tag: v5)
Bạn có thể sử dụng docker push
lệnh để đẩy từng hình ảnh trên vào kho lưu trữ của mình. Miễn là tên kho lưu trữ trùng khớp, chúng sẽ được đẩy thành công và xuất hiện dưới kho lưu trữ đã chọn của bạn và được gắn thẻ chính xác.
Bây giờ, câu hỏi của bạn là, "Vậy kho lưu trữ này được lưu trữ ở đâu / ai đang quản lý dịch vụ"? Đó là nơi Docker Registry xuất hiện. Theo mặc định, bạn sẽ nhận được một sổ đăng ký trung tâm docker (Nguồn mở) mà bạn có thể sử dụng để giữ kho lưu trữ riêng tư / công cộng của mình. Vì vậy, không có bất kỳ sửa đổi, hình ảnh của bạn sẽ được đẩy đến kho lưu trữ riêng tư của bạn trong docker hub. Một ví dụ đầu ra khi bạn đẩy các thẻ hình ảnh của bạn như sau:
docker@my-docker-vm:/$ docker push mydockerhub/my-helloworld-repo:my_tag
The push refers to repository [docker.io/mydockerhub/my-helloworld-repo]
bf41e934d39d: Pushed
70d93396f87f: Pushed
6ec525dfd060: Pushed
705419d10b13: Pushed
a4aaef726d02: Pushed
04964fddc946: Pushed
latest: digest: sha256:eb93c92351bce785aa3ec0de489cfeeaafd55b7d90adf95ecea02629b376e577 size: 1571
docker@my-docker-vm:/$
Và nếu bạn nhập ngay lập tức, docker images --digests -a
bạn có thể xác nhận rằng các thẻ hình ảnh được đẩy của bạn hiện đang hiển thị chữ ký mới đối với kho lưu trữ riêng được quản lý bởi đăng ký trung tâm docker.