已安装好两台docker服务机
主192.168.1.10/centos7
从192.168.1.11/centos7
主配置docker段服务器
master启动docker服务
加载一些准备好的本地镜像到docker,registry为必要上传的镜像
docker load -i images/busybox_latest.tar
docker load -i images/centos_latest.tar
docker load -i images/httpd_latest.tar
docker load -i images/nginx_latest.tar
docker load -i images/portainer_portainer_latest.tar
docker load -i images/python_3.7-alpine.tar
docker load -i images/redis_alpine.tar
docker load -i images/registry_latest.tar
docker load -i images/swarm_latest.tar
Dock run命令运行本地registry
[root@master opt]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
66df904e9c221ca8e412a32e479d9f8331a7d9b5dc401554141a5b74e0b6e8e9
-d 容器运行于后台
-v 挂载文件目录,主机:容器
-p 容器端口映射外部
–restart=always 容器退出时总是重启
–name 容器名字
Docker ps查询容器进程
查看registry端口映射监听
测试
使用curl命令访问网页地址,返回结果为{}表示registry正常运行
[root@master opt]# curl http://192.168.1.10:5000/v2/ -v
* About to connect() to 192.168.1.10 port 5000 (#0)
* Trying 192.168.1.10...
* Connected to 192.168.1.10 (192.168.1.10) port 5000 (#0)
> GET /v2/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 192.168.1.10:5000
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 2
< Content-Type: application/json; charset=utf-8
< Docker-Distribution-Api-Version: registry/2.0
< X-Content-Type-Options: nosniff
< Date: Fri, 17 Jan 2020 16:10:07 GMT
<
* Connection #0 to host 192.168.1.10 left intact
{}
新建/etc/docker/daemon.json配置文件,写入以下内容,设置私有仓库地址,并重启服务
[root@master docker]# vim /etc/docker/daemon.json
[root@master docker]# systemctl restart docker
Docker images命令查询当前docker中的镜像
#docker tag给centos镜像设置标记
[root@master docker]# docker tag centos:latest 192.168.1.10:5000/centos:latest
#docker push将镜像推送到私有仓库
[root@master docker]# docker push 192.168.1.10:5000/centos:latest
The push refers to repository [192.168.1.10:5000/centos]
9e607bb861a7: Pushed
latest: digest: sha256:6ab380c5a5acf71c1b6660d645d2cd79cc8ce91b38e0352cbf9561e050427baf size: 529
测试推送是否成功
使用curl命令访问
[root@master docker]# curl http://192.168.1.10:5000/v2/_catalog
{"repositories":["centos"]}
另一docker测试服务器端
Docker服务正常运行
新建/etc/docker/daemon.json配置文件,写入以下内容,设置私有仓库地址,并重启服务
[root@slave ~]# cd /etc/docker/
[root@slave docker]# touch daemon.json
[root@slave docker]# vim daemon.json
[root@slave docker]# systemctl restart docker
#使用docker pull拉取刚刚仓库中标记推送的镜像
[root@slave docker]# docker pull 192.168.1.10:5000/centos:latest
latest: Pulling from centos
729ec3a6ada3: Pull complete
Digest: sha256:6ab380c5a5acf71c1b6660d645d2cd79cc8ce91b38e0352cbf9561e050427baf
Status: Downloaded newer image for 192.168.1.10:5000/centos:latest
Docker images查询镜像,镜像已经存在本地docker服务器中