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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于