使用register鏡像創建私有倉庫
[root@openEuler-node1 ~]# docker run --restart=always -d -p 5000:5000 -v /opt/data/regostry:/var/lib/registry registry:2
[root@openEuler-node1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry 2 a8781fe3b7a2 5 weeks ago 25.4MB
busybox latest 3f57d9401f8d 6 weeks ago 4.26MB
ubuntu 18.04 f9a80a55f492 9 months ago 63.2MB
centos 7 eeb6ee3f44bd 2 years ago 204MB
(1) 先將本地倉庫打上合適的標簽
[root@openEuler-node1 ~]# docker tag busybox:latest 192.168.136.55:5000/busybox:v1
?(2)嘗試上傳鏡像
[root@openEuler-node1 ~]# docker pull 192.168.136.55:5000/busybox:v1
Error response from daemon: Get "https://192.168.136.55:5000/v2/": http: server gave HTTP response to HTTPS client
上傳鏡像失敗,原因:docker上傳下載默認只支持https協議,搭建的私有倉庫是https協議。
(3) 修改重啟docker服務
[root@openEuler-node1 ~]# mkdir /etc/docker
[root@openEuler-node1 ~]# vim /etc/docker/daemon.json{"insecure-registries":["192.168.136.55:5000"]
}
[root@openEuler-node1 ~]# systemctl daemon-reload
[root@openEuler-node1 ~]# systemctl restart docker.service
(4)再次上傳鏡像,成功
[root@openEuler-node1 ~]# docker push 192.168.136.55:5000/busybox:v1
The push refers to repository [192.168.136.55:5000/busybox]
2e112031b4b9: Pushed
v1: digest: sha256:d319b0e3e1745e504544e931cde012fc5470eba649acc8a7b3607402942e5db7 size: 527
(5)驗證
[root@openEuler-node1 ~]# ll /opt/data/regostry/docker/registry/v2/repositories/
總用量 4
drwxr-xr-x 5 root root 4096 3月 3 11:58 busybox
我們可以用可視化界面registry-web(docker自帶的)來管理
[root@openEuler-node1 ~]# docker run -d -p 8080:8080 --name registry-web --restart=always --link b2878bdb5e1b -e registry_url=http://192.168.136.55:5000/v2 -e registry_name=localhost:5000 hyper/docker-registry-web:latest
?