Docker Registry--私有docker站

前言

 原来一直用的是docker hub来push和pull自己的镜像,可是国内pull/push到dockerhub速度实在不敢恭维,而且经常出现handshake timeout的问题,所以思索着能不能有国内的镜像源选择,daocloud是不错的国内选择,可提供pull的镜像也挺多的,但是pull可以,push得另外收费(200一个月)。我自己有三个私有的镜像需要push/pull的,所以思考着干脆自己搭建一个私有的docker registry,国内的服务器上/下载速度怎么都会比直接到docker hub拉取和推送镜像快,但是在搭建过程中遇到了各种各样的琐碎的问题,这里就做一个梳理.

 前提:一台有公网IP的主机,最好还有域名[我用的是腾讯云主机,域名是Godaddy买的,域名解析也在Godaddy~]


Docker Registry

 首先我们确保我们安装了docker engine,这是我们的前提,然后我们先拉取docker registry的镜像

sudo docker pull registry  

 Tips 这个默认是从docker hub拉取的,不是很大,可以挂着慢慢等,如果还是嫌慢的话,还有个办法来自daocloud官网给出的配置 Docker 加速器,提取出来就是下面这一行的linux命令:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://0835afe2.m.daocloud.io

 其实就是下载一个set_mirror.sh脚本并运行它,脚本好像会在/etc/docker/目录下创建一个daemon.json的文件,至少我看到是这样的,具体其他做了什么操作可以仔细看看它给的set_mirror.sh脚本 
[官方对set_mirror.sh说明:该脚本可以将 –registry-mirror 加入到你的 Docker 配置文件 /etc/default/docker 中(不是/etc/docker/?)]  
再去把registry pull回来,可以感觉明显快很多

获取证书

 docker push/pull 操作不知道从哪个版本开始需要https了,所以我们得给我们的主机弄一个https先.
 我的主机是挂了域名的(用domain.com代表吧),而从[官网Get a certificate]可以看出,docker registry如果要https,则需要两个东西,一个是.crt文件,一个是.key文件,有了这两个就可以让我们的docker registry走https,验证ssl了
 其实这两个文件都可以自签署,详细办法后面再说,是使用openssl生成的,这种办法比较麻烦,而且docker还不一定认这种自签署的证书[Get https://domain.com:5000/v1/_ping: x509: certificate signed by unknown authority问题]
 所以为了提高一次性成功率,我决定先折腾DV颁发的权威机构签署的证书(还有OV,EV,相关CA证书说明可以看这篇),因为正好腾讯云自己有提供DV SSL免费一年的证书[你要说我穷,我也没办法],之前没搞过https和证书这些东西,借这个免费一年的DV SSL先上上手,具体怎么操作我就是按照腾讯云自己给出的文档,为我的域名提交了申请,然后添加了CNAME,然后耐心等待验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值