buntu下使用Docker 建立本地私有registry

说明,本文是参考http://blog.csdn.net/j_z10/article/details/51953468 所写的,经过测试,完成可行 。做了一点修改,使之符合自己 ,算是做个笔记吧。

1、准备环境

环境:两个装有Docker的Ubuntu虚拟机
虚拟机一:192.168.101.121 用户开发机
虚拟机二:192.168.101.124 用作私有仓库

2、安装docker 。

这个就不多说了,相信如果这步都没做的话,也不会看到这了。

3、安装registry

 docker pull registry   

4、搭建https regsitry

service端 (92.168.101.124)

4.1、 生成字签名证书

mkdir -p  /registry/test/certs && cd  /registry/test/certs
openssl req -x509 -days 3650 -subj '/CN=test.reg.com/' -nodes -newkey rsa:2048 -keyout registry.key -out registry.crt

4.2、成用户名密码

mkdir -p  /registry/test/auth && cd  /registry/test/auth
docker run --rm --entrypoint htpasswd registry:2 -Bbn test test > ./htpasswd

4.3、创建证书目录

mkdir -p /etc/docker/certs.d/test.reg.com:5000
cd ../../../../../../..
cp  /registry/test/certs/registry.crt  /etc/docker/certs.d/test.reg.com:5000

4.4启动registry

docker run -d -p 5000:5000 --name=test_registry --restart=always -v /registry/test/auth:/auth -v /registry/test/certs:/certs -v /data/registry:/var/lib/registry -e REGISTRY_AUTH=htpasswd -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt -e REGISTRY_HTTP_TLS_KEY=/certs/registry.key registry:2 

客户端(92.168.101.121)

4.5、证书关联 (如果 只有一台电脑 ,即服务端也是客户端 ,此步骤省略)
通过scp将证书copy到本地 。

sudo mkdir -p /etc/docker/certs.d/test.reg.com:5000
sudo scp -r root@192.168.101.124:/registry/phy/certs/registry.crt /etc/docker/certs.d/test.reg.com:5000
上面第二条,对于inux 菜鸟可能会卡一下,root@192.168.101.124 ,其中root 是 192.168.101.124 的一个用户名 ,接下来输入 root 对应的密码 即可 。

4.6、添加域名

在 /etc/hosts 最后添加一行 192.168.101.124 test.reg.com:5000

vim  /etc/hosts
  • 测试
docker login test.reg.com:5000
Username: test
Password: test
docker pull hello-world
docker tag hello-world:latest test.reg.com:5000/hello-world
docker push test.reg.com:5000/hello-world

网上浏览过很多资料 ,搭建私有registry 的时候总是会报错:

docker tls: oversized record received with length 20527 

可能由于历史版本原因吧 。此篇文章主要来纪念这个大坑。

PS : 有读者反应说按照此文档下来,搭建会失败 。于是我自己又试了一下,发现 : 因为全部copy 的上面的语句,可能写的时候没注意 ,语句后面有些中文的空格导致搭建失败。特此更正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值