1、系统环境:CentOS 7.3
172.16.0.44 registry 已安装docker
172.16.0.45 client 已安装docker
2、未加密仓库部署
下载registry镜像
- docker pull registry
启动一个registry容器
- docker run - d - p 5000 : 5000 - v / opt / registry / :/tmp/registry registry
下载一个需要私有部署的镜像
- docker pull redis
修改镜像的tag
- docker tag redis 172.16.0.44 : 5000 / redis
上传打完tag的镜像到私有仓库
- docker push 172.16.0.44:5000/redis
- The push refers to a repository [172.16.0.44:5000/redis]
- Get https://172.16.0.44:5000/v2/: http: server gave HTTP response to HTTPS client
因为从 docker1.3.2 开始,docker registry 默认都是使用v2,使用 https 协议而不是 http
解决办法:
在/etc/docker目录下,创建daemon.json文件,添加如下内容:
- { "insecure-registries":["172.16.0.44:5000"] }
保存退出
- systemctl daemon-reload
- systemctl restart docker
重启后再次上传镜像,会提示如下错误
- The push refers to a repository [172.16.0.44 : 5000 / redis] Get http: //172.16.0.44:5000/v2/: dial tcp 172.16.0.44:5000: getsockopt: connection refused
这是因为重启docker服务后,刚才创建的registry仓库的容器停止了,重启启动容器,就可以上传成功了
- docker push 172.16.0.44:5000/redis
- The push refers to a repository [172.16.0.44:5000/redis]
- 2bf5fdee0818: Pushed
- e23ed9242cd7: Pushed
- 32f085a1e7bb: Pushed
- 05d392f56700: Pushed
- 2b0fb280b60d: Pushed
- latest: digest: sha256:ee24c6a68d9ce22df1aa743ea4c624cdc74e4d99b78e199d480292675249ebca size: 1364
检查私有仓库是否配置成功
- curl http://172.16.0.44:5000/v2/_catalog
- {"repositories":["redis"]}
在客户端下载私有仓库上的镜像查看成功
- docker pull 172.16.0.44 : 5000 / redis
3、加密仓库部署
上传或生产自己的证书文件到仓库服务器上
把证书文件server.key server.pem上传到certs目录下
- mkdir - p / etc / docker / certs
启动registry容器
- docker run - d - it - p 5000 : 5000 --restart = always --name zx_registry - v `pwd` / certs: /etc/docker / certs / - v / opt / registry / :/tmp/registry - e REGISTRY_HTTP_TLS_CERTIFICATE = /etc/docker / certs / server.pem - e REGISTRY_HTTP_TLS_KEY = /etc/docker / certs / server.key registry
拷贝证书文件到客户端
- scp certs / server.pem [email protected] : /etc/pki / ca - trust / source / anchors /
客户端更新证书文件
- cd /etc/pki/ca-trust/source/anchors
- update-ca-trust
后面的操作就同未加密仓库部署一样,下载镜像,镜像打tag,上传镜像到本地仓库,客户端下载私有镜像
知行办公,专业移动办公平台 https://zx.naton.cn/
【总监】十二春秋之,[email protected];
【Master】zelo,[email protected];
【运营】狼行天下,[email protected];
【产品设计】流浪猫,[email protected];
【体验设计】兜兜,[email protected];
【iOS】淘码小工,[email protected];iMcG33K,[email protected];
【Android】人猿居士,[email protected];思路的顿悟,[email protected];
【java】首席工程师MR_W,[email protected];
【测试】土镜问道,[email protected];
【数据】喜乐多,[email protected];
【安全】保密,你懂的。
来源: http://www.bubuko.com/infodetail-2284852.html