概要
わざわざ insecure-registries に記載するのが面倒なので証明書がある場合は SSL 化しましょう
環境
- Ubuntu 22.04
- docker registry 2.8.3
- docker 27.0.3
auth_config.yml
server:
addr: ":5000"
certificate: "/certs/fullchain.pem"
key: "/certs/privkey.pem"
pem ファイルは Let’s Encrypt で取得したものをそのまま利用します
compose.yml
services:
registry:
image: registry:2
ports:
- "5000:5000"
volumes:
- "/path/to/local/registry:/var/lib/registry"
- "/path/to/auth_config.yml:/config/auth_config.yml"
- "/etc/letsencrypt/live/your.domain.com/privkey.pem:/certs/privkey.pem"
- "/etc/letsencrypt/live/your.domain.com/fullchain.pem:/certs/fullchain.pem"
environment:
- REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain.pem
- REGISTRY_HTTP_TLS_KEY=/certs/privkey.pem
restart: always
ポイントはファイルを配置するだけではなくちゃんと環境変数の REGISTRY_HTTP_TLS_CERTIFICATE と REGISTRY_HTTP_TLS_KEY で配置したパスを指定する点です
起動
- docker compose up -d
動作確認
insecure-registries なしで docker login できることを確認しましょう
もしくは
-
curl https://your.domain.com:5000/v2/_catalog
で SSL のエラーにならないことを確認しましょう
最後に
SSL を有効にした場合は逆に http が使えなくなるので注意しましょう
0 件のコメント:
コメントを投稿