1. 拉取镜像
#镜像服务
docker pull registry:2
#这个镜像加密密码使用
docker pull registry:2.7.0
2.创建镜像存储目录
#创建文件夹
mkdir -p /srv/docker/registry/
#进入仓库目录
cd /srv/docker/registry/
#创建auth certs storage目录
mkdir auth certs storage
3.创建账号密码文件并加密
#进入
cd auth
docker run --entrypoint htpasswd registry:2.7.0 -Bbn docker docker > htpasswd
4. 准备 HTTPS 证书
我这边是通过阿里云申请的,申请好把公钥和私钥放入到 certs 目录下。如果没有阿里云,可以使用其他证书服务提供商或者自己生成一个,这个自己百度。
我申请的证书如下:
5.把公钥拷贝一份到 /etc/docker/certs.d/
cp docker.pem /etc/docker/certs.d/域名:5000/
6.启动容器
docker run -itd -p 5000:5000 --restart=always --name registry \
-v /srv/docker/registry/certs:/certs \
-v /srv/docker/registry/auth:/auth \
-v /srv/docker/registry/storage:/var/lib/registry \
-e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/docker.pem" \
-e "REGISTRY_HTTP_TLS_KEY=/certs/docker.key" \
-e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry:2
7.测试
在电脑上登录 docker 仓库(我这里使用 nginx 做了反向代理 所以使用的是 443)
推送镜像测试
# 先拉取一个镜像
docker pull alpine:latest
# 打一个tag 443可以不用带端口
docker tag alpine:latest 域名:端口/alpine:latest
#推送
docker push 域名:端口/alpine:latest
拉取镜像测试
#把刚刚打tag的镜像删掉
docker rmi 域名:端口/alpine:latest
#拉取镜像
docker pull 域名:端口/alpine:latest
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于