天若有情天亦老
最近自己在内网里搭建起了一个私有仓库,用来存放自己制作的一些镜像,这样实验室的伙伴们在内网都可以通过这个私有仓库拉取我所制作的镜像
1.安装docker
我的私有仓库是在centOS7下搭建的,直接使用官方的脚本安装最新版的docker
curl -sSL https://get.docker.com/ | sh
2.配置https
这时你通过另一台机器push镜像到这台私有仓库上是不行的,因为docker默认是https,而你没有配置证书所以是不能push的,接下来我们在自己的私有仓库主机上生成自签名证书,看下面的命令
image.png
注意!!!Common Name 那一栏一定要填入跟访问的地址相同的域名,例如我的是csdcrepo.com
提示:我这里私有仓库的主机名是csdcrepo.com,然后在其他机器上配置一下hosts文件,让这个域名解析到我的私有仓库主机上来
证书生成好之后把xxx.crt结尾的文件复制到你需要push或pull镜像的机器上,路径为
/etc/docker/certs.d/csdcrepo.com:5000/ca.crt
注意!!!路径需要跟域名一致,ca.crt 需要重命名
接下来再把刚刚的证书使用如下命令追加到自己系统的下列文件下
CentOS 6 / 7中bundle文件的位置在/etc/pki/tls/certs/ca-bundle.crt:
cat domain.crt >> /etc/pki/tls/certs/ca-bundle.crt
Ubuntu/Debian Bundle文件地址/etc/ssl/certs/ca-certificates.crt
`cat domain.crt >> /etc/ssl/certs/ca-certificates.crt
3.运行registry镜像
docker run -d -p 5000:5000 --privileged=true -v /opt/registry:/tmp/registry -v ~/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/myrepo.crt -e REGISTRY_HTTP_TLS_KEY=/certs/myrepo.key registry
作者:olaH
链接:https://www.jianshu.com/p/4a9b5fa73dda