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"] }