天天看點

docker 建立私有鏡像之 registry

一、下載下傳 registry 鏡像

[root@localhost ~]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
c87736221ed0: Pull complete 
1cc8e0bb44df: Pull complete 
54d33bcb37f5: Pull complete 
e8afc091c171: Pull complete 
b4541f6d3db6: Pull complete 
Digest: sha256:f87f2b82b4873e0651f928dcde9556008314543bd863b3f7e5e8d03b04e117f7
Status: Downloaded newer image for      

二、建立鏡像存儲目錄

[root@localhost ~]# mkdir      

三、建立鏡像容器

[root@localhost ~]# docker run -itd -v /data/registry:/var/lib/registry -p 80:5000name registry registry
e630985b09af4dedcf81a8dcb80202e591fefefc0a86e8328be70ce0643ab399      
#檢查容器是否建立成功
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
e630985b09af        registry            "/entrypoint.sh /etc…"   23 seconds ago      Up 22 seconds       0.0.0.0:80->5000/tcp   registry      
#檢查容器運作是否正常,如下顯示說明運作正常
[root@localhost ~]# curl http://127.0.0.1/v2/_catalog     
{"repositories":[]}      

四、修改daemon.json檔案,修改為如下内容

[root@localhost ~]# vim /etc/docker/daemon.json 
{
"registry-mirrors": ["https://wixr8yss.mirror.aliyuncs.com"],
"insecure-registries":["10.10.0.110:80"],
"bip":"172.31.0.1/16"
}      

五、重新開機docker

[root@localhost ~]# systemctl restart docker      

六、測試

#從官方pull busybox 鏡像
[root@localhost ~]# docker pull busybox
Using default tag: latest
latest: Pulling from library/busybox
53071b97a884: Pull complete 
Digest: sha256:4b6ad3a68d34da29bf7c8ccb5d355ba8b4babcad1f99798204e7abb43e54ee3d
Status: Downloaded newer image for      
#檢視目前鏡像
[root@localhost ~]# docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              64f5d945efcc        5 days ago          1.2MB
registry            latest              f32a97de94e1        2 months ago        25.8MB      
#為鏡像打tag
[root@localhost ~]# docker tag busybox:latest 10.10.0.110:80/busybox:v1      
#檢視tag 是否标記成功
[root@localhost ~]# docker image ls
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
10.10.0.110/busybox   v1                  64f5d945efcc        5 days ago          1.2MB
busybox               latest              64f5d945efcc        5 days ago          1.2MB
registry              latest              f32a97de94e1        2 months ago        25.8MB      
#将鏡像推送到私有鏡像倉庫中
[root@localhost ~]# docker push 10.10.0.110:80/busybox:v1
The push refers to repository [10.10.0.110:80/busybox]
d1156b98822d: Pushed 
v1: digest: sha256:4fe8827f51a5e11bb83afa8227cbccb402df840d32c6b633b7ad079bc8144100 size: 527      
#測試拉取鏡像
[root@localhost repositories]# docker pull 10.10.0.110:80/busybox:v1
v1: Pulling from busybox
53071b97a884: Pull complete 
Digest: sha256:4fe8827f51a5e11bb83afa8227cbccb402df840d32c6b633b7ad079bc8144100
Status: Downloaded newer image for 10.10.0.110:80/busybox:v1      

七、檢視目前私有倉庫中有哪些鏡像以及鏡像的tag

[root@localhost repositories]#//10.10.0.110:80/v2/_catalog 
{"repositories":["busybox"]}
[root@localhost repositories]# curl  http://10.10.0.110:80/v2/busybox/tags/list
{"name":"busybox","tags":["v1"]}