构建环境:centos 7.8 docke版本:17.03.3-ce registry版本:latest registry私有仓库地址:192.168.126.134

  1. 拉取最新镜像 docker pull registry

  2. 使用httpd的加密工具htpasswd生成登陆信息加密文件htpasswd mkdir -p /docker/auth cd /docker docker run --entrypoint /usr/bin/htpasswd registry -Bbn admin 123456 > auth/htpasswd

  3. 查看htpasswd文件信息内容如下: admin:$2y$05$L95OarhZB1heGjWrqODDDOajuLzE9mFgYIHGLGnhgfdkdB8OYBl4W

  4. 使用htpasswd认证、registry镜像创建仓库容器:myregistry1 docker run -d -p 5001:5000 --restart=always --name myregistry -v /docker/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry

  • 查看容器是否创建成功 docker ps ss -tnl | grep 5001
  1. 创建成功后,修改/lib/systemd/system/docker.service 配置信息,在ExecStart=/usr/bin/dockerd 该行末尾添加 --insecure-registry 192.168.126.134:5001,如果没有添加,会产生如下报错:Get https://192.168.126.134:5001v1/_ping: http: server gave HTTP response to HTTPS client

  2. 重启docker服务 systemctl daemon-reload systemctl restart docker

  3. 进行功能验证 使用admin登陆仓库: docker login --username=admin 192.168.126.134:5001 给本地镜像nginx:v2 打标签: docker tag nginx:v2 192.168.126.134:5001/nginx:v2 推送镜像到私有仓库: docker push 192.168.126.134:5001/nginx:v2 删除本地192.168.126.134:5001/nginx:v2镜像: docker rmi 192.168.126.134:5001/nginx:v2 从私有仓库拉取镜像: docker pull 192.168.126.134:5001/nginx:v2