您的位置:首页 > 运维架构 > Docker

docker 搭建本地私有仓库 (v2)

2017-03-28 00:00 609 查看
摘要: docker 私有仓库v2的搭建

官方文档

Deploying a registry server

当然搭建自己的私有仓库是为了管理公司的私有项目(镜像)

最主要的部分就是自签名证书 了

自签名证书

基本知识请参考这里TLS/HTTPS 证书生成与验证

how it works

有一点就是我们在内网生成自签名的证书时

openssl req -x509 -days 3650 -subj '/CN=reg.sc.com/' -nodes -newkey rsa:2048 -keyout registry.key -out registry.crt;

_-subj _ 这个是比较重要的,如果/CN (Common Name) 使用ip的话需要去配置openssl.conf文件,略复杂,这里不赘述,所以建议都填写一个域名,然后修改 /etc/hosts

具体操作

// 生成证书
cd ~/;

mkdir registry && cd registry && mkdir certs && cd certs;

openssl req -x509 -days 3650 -subj '/CN=reg.zimug.com/' -nodes -newkey rsa:2048 -keyout registry.key -out registry.crt;

// 生成用户名密码 ,用来做Restricting access,web页面上相关的操作。

cd ~/registry&& mkdir auth;

docker run --entrypoint htpasswd registry:2.2 -Bbn username password > auth/htpasswd;

构建启动脚本:

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

客户端配置

//下载证书到此目录
sudo mkdir -p /etc/docker/certs.d/reg.sc.com:5000
sudo scp -r xxx@192.168.31.243:~/registry/certs/registry.crt /etc/docker/certs.d/reg.sc.com:5000
// 测试验证

docker login reg.zimug.com:5000
docker tag busybox reg.zimug.com:5000/busybox:1.0
docker push reg.carson.com:5000/busybox:1.0

搭建UI

请参考docer-hub
docker-registry-frontend

参考

http://www.tuicool.com/articles/vMZZveM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  registry docker