部署自己的Docker注册表:注册表重新启动



我了解Docker Hub,我知道你可以在上面创建自己的存储库。但当你想创建多个私人回购时,你必须付费。所以我想要我自己的Docker注册服务器使用自签名证书。

我遵循官方文件以下是步骤:在certs/中创建证书

mkdir -p certs && openssl req 
  -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key 
  -x509 -days 365 -out certs/domain.crt

因此,这在我的certs/中创建了一个domain.key和domain.cert。现在是时候启动我的docker注册表了(使用密钥):

docker run -d -p 5000:5000 --restart=always --name registry 
  -v `pwd`/certs:/certs 
  -e REGISTRY_HTTP_TLS_CERTIFICATE=certs/domain.crt 
  -e REGISTRY_HTTP_TLS_KEY=certs/domain.key 
  registry:2

部署后,我看到了以下内容:$docker ps

 "/bin/registry /etc/d"   12 seconds ago      Restarting (1) 1 seconds ago   0.0.0.0:5000->5000/tcp

我的码头日志告诉我:

time="2015-12-11T10:18:19Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.5.2 instance.id=ee1b0d64-89eb-4be7-bc3e-e0e249bf117d version=v2.2.1 
time="2015-12-11T10:18:19Z" level=info msg="redis not configured" go.version=go1.5.2 instance.id=ee1b0d64-89eb-4be7-bc3e-e0e249bf117d version=v2.2.1 
time="2015-12-11T10:18:19Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.5.2 instance.id=ee1b0d64-89eb-4be7-bc3e-e0e249bf117d version=v2.2.1 
time="2015-12-11T10:18:19Z" level=fatal msg="open certs/domain.crt: permission denied"  

有人能告诉我我做错了什么吗?感谢

这是SELinux和Docker的问题:

chcon -Rt svirt_sandbox_file_t ~/certs/

最新更新