欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker Registry

程序员文章站 2022-06-17 09:42:44
...

Docker Registry可以用于docker镜像的存储和分发,不同与官方的镜像仓库,可以在公司内部使用,在镜像里封装敏感的数据。

一 环境说明

系统: Centos7 
软件: docker-1.8.2

二 下载registry镜像

docker pull registry:2

三 配置启动容器

docker run -d \
--name=registry \ #容器名称
-p 5000:5000 \    #映射端口
--restart=always \ #重启策略
-v /data/storage:/var/lib/registry \ #映射数据存储目录
-e REGISTRY_AUTH=htpasswd \  #设置验证方式
-e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm"
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \  #指定htpasswd文件位置
-v /data/build/ssl:/certs \ #映射证书文件所在目录
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ #设置证书文件位置
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ #设置证书私钥文件位置
registry2

四 生成htpasswd验证文件

例如:设置testuser用户,密码为testpassword

docker exec registry sh -c "mkdir /auth && htpasswd -Bbn testuser testpassword > /auth/htpasswd"

五 上传下载验证

假设:registry服务的域名为hub.example.com

  1. docker tag ubuntu:16.04 hub.example.com:5000/ubuntu:16.04
  2. docker push hub.example.com:5000/ubuntu:16.04 #上传测试
  3. docker pull hub.example.com:5000/ubuntu:16.04 #下载测试