Contents:
Docker registry là nơi chứa các image trong quá trình khởi động các container. Khi sử dụng câu lệnh docker pull để pull image về tức là chúng ta kết nối đến Docker hub chính thức. Ở đó bạn có thể tạo và lưu trữ image cho mình nhưng nếu không trả phí bạn phải public image của bạn. Nếu muốn lưu trữ Docker image sử dụng nội bộ chúng ta phải triển khải Docker Registry cho riêng mình. Bài viết này sẽ hướng dẫn các bạn tạo và sử dụng Private Docker Registry trên Localhost.
Xem thêm:
Truyền lệnh từ Host vào Docker Container
Sử dụng Docker: Export/Import, Save/Load Container
Tạo và sử dụng Docker Registry
Để cài đặt Docker Registry, trước hết phải cài đặt Docker cho server, nếu chưa cài đặt bạn có thể xem hướng dẫn tại đây
Cài đặt Docker Registry v2 bằng lệnh sau:
docker run -d -p 5000:5000 --restart=always --name registry-srv registry:2
Trong đó
Trước khi cài đặt Web UI chúng ta tạo file config bằng cách sau:
mkdir -p /opt/conf cd /opt/conf nano config.yml
Thêm nội dung file như sau:
registry: # Docker registry url url: http://registry-srv:5000/v2 # Docker registry fqdn name: localhost:5000 # To allow image delete, should be false readonly: false auth: # Disable authentication enabled: false
Trong đó
Cài đặt Web UI cho Registry bằng lệnh sau:
docker run -it -p 8080:8080 --restart=always --name registry-web --link registry-srv -v $(pwd)/config.yml:/conf/config.yml:ro hyper/docker-registry-web
Trong đó
Sau khi cài đặt xong các bạn truy cập vào Registry Server theo đường dẫn http://IP:8080 Kết quả trả về như sau là cài đặt thành công.
Để kiểm tra Docker registry hoạt động hay không, từ một máy client bất kì đã cài docker, ta tiến hành test như sau:
Pull Centos Image
[root@localhost ~]# docker pull centos:latest Trying to pull repository docker.io/library/centos ... latest: Pulling from docker.io/library/centos aeb7866da422: Pull complete Digest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b Status: Downloaded newer image for docker.io/centos:latest [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/centos latest 75835a67d134 33 hours ago 200 MB [root@localhost ~]#
Tạo image tag cho registry
docker image tag centos 192.168.1.93:5000/centos:latest
Push image lên Docker Registry
Với môi trường Localhost chúng ta sẽ gặp lỗi security về https như sau:
[root@localhost ~]# docker push 192.168.1.93:5000/centos:latest The push refers to a repository [192.168.1.93:5000/centos] Get https://192.168.1.93:5000/v1/_ping: http: server gave HTTP response to HTTPS client
Để fix lỗi trên, có 2 trường hợp
Tiến hành push image sau khi fix lỗi https
[root@localhost ~]# docker push 192.168.1.93:5000/centos:latest The push refers to a repository [192.168.1.93:5000/centos] f972d139738d: Pushed latest: digest: sha256:dc29e2bcceac52af0f01300402f5e756cc8c44a310867f6b94f5f7271d4f3fec size: 529
Refresh lại Web UI nếu kết quả như bên dưới là thành công
Pull thử image vừa push
[root@localhost ~]# docker pull 192.168.1.93:5000/centos:latest Trying to pull repository 192.168.1.93:5000/centos ... latest: Pulling from 192.168.1.93:5000/centos aeb7866da422: Pull complete Digest: sha256:dc29e2bcceac52af0f01300402f5e756cc8c44a310867f6b94f5f7271d4f3fec Status: Downloaded newer image for 192.168.1.93:5000/centos:latest
Trên đây là cách đơn giản để Tạo và sử dụng Docker Registry trong môi trường localhost phục vu học tập, nghiên cứu cũng như làm việc. Chúc các bạn thành công.
Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…
Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…
20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…
Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…
CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…
Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…
Leave a Comment