正在部署自己的 Docker 注册表:注册表正在重新启动
Deploying own Docker Registry: Registry restarting
我知道 Docker Hub,我知道您可以在上面创建自己的存储库。
但是当你想创建多个私人回购时你必须付费。
所以我想要我自己的 Docker 使用自签名证书的注册表服务器。
我正在关注 official documentation
所以这些是 steps:
在 certs/
中创建证书
mkdir -p certs && openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \
-x509 -days 365 -out certs/domain.crt
所以这在我的证书/中创建了 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
部署后我看到了这个:
$dockerps
"/bin/registry /etc/d" 12 seconds ago Restarting (1) 1 seconds ago 0.0.0.0:5000->5000/tcp
我的 docker 日志告诉我:
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/
我知道 Docker Hub,我知道您可以在上面创建自己的存储库。 但是当你想创建多个私人回购时你必须付费。 所以我想要我自己的 Docker 使用自签名证书的注册表服务器。
我正在关注 official documentation 所以这些是 steps: 在 certs/
中创建证书mkdir -p certs && openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \
-x509 -days 365 -out certs/domain.crt
所以这在我的证书/中创建了 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
部署后我看到了这个: $dockerps
"/bin/registry /etc/d" 12 seconds ago Restarting (1) 1 seconds ago 0.0.0.0:5000->5000/tcp
我的 docker 日志告诉我:
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/