配置私有镜像仓库
启动私有镜像仓库容器
虽然用户可以在自己的集群上搭建私有仓库,但往往会面临存储空间小,迁移难,风险大的问题。私有仓库存储了所有的镜像,如果私有仓库发生事故,会造成巨大损失,严重影响业务,因此建议将私有仓库对接到分布式存储系统或云存储平台。DomeOS提供了使用搜狐云台存储镜像的方案,用稳定、安全的云存储保证镜像文件永久可用。以下仅说明使用对接搜狐云存储的私有仓库配置与启动方式,若需要创建本地存储或其他存储类型的私有仓库,可直接使用官方的registry镜像,启动过程请参考Docker Hub官方说明。
注意:DomeOS目前仅支持v2版本registry,请确保部署registry版本正确。如果已经有私有仓库,可以跳过该步骤,进入下一步配置。
镜像
pub.domeos.org/domeos/docker-registry-driver-sohustorage:1.1
启动命令
sudo docker run --restart=always -d \
-p <_registry_port>:5000 \
-e REGISTRY_STORAGE_SCS_ACCESSKEY=<_scs_access_key> \
-e REGISTRY_STORAGE_SCS_SECRETKEY=<_scs_secret_key> \
-e REGISTRY_STORAGE_SCS_REGION=<_scs_region> \
-e REGISTRY_STORAGE_SCS_BUCKET=<_scs_bucket> \
-e REGISTRY_HTTP_SECRET=<_http_secret> \
-e SEARCH_BACKEND=<_search_backend> \
-e SEARCH_BACKEND_MYSQL="<_db_user>:<_db_passwd>@tcp(<_db_addr>)/<_db_database>?loc=Local&parseTime=true"
--name private-registry \
pub.domeos.org/domeos/docker-registry-driver-sohustorage:1.1
参数说明
_registry_port:私有仓库对外服务端口
_scs_access_key:搜狐云台 access key
_scs_secret_key:搜狐云台 secret key
_scs_region:搜狐云存储地域(bjcnc,bjctc,shctc,bjcnc-internal,bjctc-internal,shctc-internal)
_scs_bucket:搜狐云存储桶名,要求该桶存在且可正常访问
_http_secret:若需启动多个registry容器进行负载均衡,需要配置此环境变量,且赋予相同的值
_search_backend:查询镜像列表的方式,可选MYSQL或LOCAL,不配置时使用默认的查询方式
_db_user:DomeOS数据库用户
_db_passwd:DomeOS数据库密码
_db_addr:DomeOS数据库地址,IP:Port形式
_db_database:DomeOS数据库名称
说明
该方式创建的私有仓库将对接到搜狐云台上。
如果私有仓库需要使用https安全访问,则需加入如下额外参数:
-v /path/to/certs:/certs
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt
-e REGISTRY_HTTP_TLS_KEY=/certs/registry.key
其中/path/to/certs为证书文件所在目录,registry.crt和registry.key分别为证书和秘钥文件。
样例
sudo docker run -d --restart=always \
-p 5000:5000 \
-e REGISTRY_STORAGE_SCS_ACCESSKEY=ABCDEFOZ2k2yT4+qxzmA6A== \
-e REGISTRY_STORAGE_SCS_SECRETKEY=ABCDEFF8vXvt0y2f+6dIXA== \
-e REGISTRY_STORAGE_SCS_REGION=bjcnc \
-e REGISTRY_STORAGE_SCS_BUCKET=registry \
-e REGISTRY_HTTP_SECRET=domeos \
-e SEARCH_BACKEND=MYSQL \
-e SEARCH_BACKEND_MYSQL="domeos:domeos@tcp(10.10.10.10:3306)/registry?loc=Local&parseTime=true"
--name private-registry \
pub.domeos.org/domeos/docker-registry-driver-sohustorage:1.1
验证
通过curl -L http://<私有仓库的服务地址>/v2/查看私有仓库的运行状态,如果显示"{}"说明正常运行,如:
curl -L http://10.10.10.10:5000/v2/
{}
参考