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

2017/10/30 5:31 に 森山誠二郎 が投稿   [ 2017/10/30 5:36 に更新しました ]
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"] }
Comments