搭建带https的docker 私有镜像仓库(registry)
前言:需要在阿里云服务器上搭建自己的私有docker镜像仓库,1)、pull和push时需要登录才能操作;2)、传输通过https保证安全性;下面把操作步骤进行了记录。一、pull registry镜像执行命令:docker pull registry:2二、创建账号和密码,并且通过docker加密1、创建几个文件夹,用于启动容器的时候挂载上去mkdir -p /data/docker-regis
前言:
需要在阿里云服务器上搭建自己的私有docker镜像仓库,需求:1)、pull和push时需要登录才能操作;2)、传输通过https保证安全性;下面把操作步骤进行了记录。
一、pull registry镜像
执行命令:
docker pull registry:2
二、创建账号和密码,并且通过docker加密
1、创建几个文件夹,用于启动容器的时候挂载上去
mkdir -p /data/docker-registry/
cd /data/docker-registry && mkdir auth certs registry
创建好的文件夹如下:

3、创建账号密码文件,并加密
进入到 auth目录(cd /data/docker-registry/auth)
执行下面命令:
echo "user:docker passwd:123123" >htpasswd
docker run --entrypoint htpasswd registry:2.7.0 -Bbn docker 123123 > /data/docker-registry/auth/htpasswd
三、https证书配置操作
1、申请https 证书
我这边是通过阿里云申请的,申请好把公钥和私钥放入到certs目录下。如果你们不想花钱买,那么可以自己生成一个,这个自己百度。
我申请的证书如下:

2、把公钥拷贝一份到 /etc/docker/certs.d/
cp harbor.pem /etc/docker/certs.d/harbor.zaitugongda.com:5000/
这里注意下,进入到/etc/docker/certs.d/后,创建一个目录,目录名同docker的仓库地址(我的是harbor.zaitugongda.com:5000)
四、启动容器
docker run -itd -p 5000:5000 --restart=always --name registry \
-v /data/docker-registry/certs:/certs \
-v /data/docker-registry/auth:/auth \
-v /data/docker-registry/registry:/var/lib/registry \
-e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/harbor.pem" \
-e "REGISTRY_HTTP_TLS_KEY=/certs/harbor.key" \
-e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry:2
说明:
-v 指定挂载目录,宿主机:容器目录
-e 指定了公钥和私钥的位置,以及密码文件位置
五、测试
1、在本地机器上登录仓库:

2、docker push
这里给出一个shell文件, 我用这个文件打包image,再打一个tag后push到registry.
#!/bin/bash
image_name_version=$1
docker build -t ${image_name_version} .
docker tag ${image_name_version} harbor.zaitugongda.com:5000/stefan/${image_name_version}
docker push harbor.zaitugongda.com:5000/stefan/${image_name_version}
if [ $? -eq 0 ]
then
echo "push ok"
else
echo "push faild"
fi
执行命令:
bash build.sh service_image:v1.0
3、docker pull
docker pull harbor.zaitugongda.com:5000/stefan/service_image:v1.0
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)