letsencryptのSSL証明書でdocker registryを動かす

Post date: 2017/10/30 12:31:08

SSL証明書が入ったディレクトリ(/etc/letsencrypt/live/alb.anagix.com)で以下を実行する

(これらを入れたスクリプト run-docker-registryを実行してもよい)

cat cert.pem chain.pem > domain.crt

cat privkey.pem > domain.key

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

メモ:

-v /var/opt:/var/lib/registry することにより、registryが、/var/opt/docker/registry以下にパーマメントにつくられる

証明書の名前は、domain.crt, domain.keyでなくてはならない

証明書を指定せずにregistryをdocker runした場合、Get https://localhost:5000/v1/_ping: dial localhost:5000: getsockopt: connection refusedのようなエラーが出る。この場合以下のような内容で、/etc/docker/daemon.jsonを作りdockerデーモンを再起動する。

{ "insecure-registries":["localhost:5000", "127.0.0.1:5000", "192.168.0.105:5000"] }