はじめに
最近、netbox-docker の README.md を見て知ったのですが、docker-compose.yml
の内容を上書きする docker-compose.override.yml
というファイルがあるそうです。
docker-compose.yml
はそのままのこしておき、docker-compose.override.yml
でカスタマイズするのに便利そうです。
公式ドキュメントにも記載がありました。
netbox-docker の README.md の例で試してみます。
docker-compose.yml
単品の場合
nginx
を抜粋すると以下の通りです。
# nginx nginx: command: nginx -c /etc/netbox-nginx/nginx.conf image: nginx:1.19-alpine depends_on: - netbox ports: - 8080 volumes: - netbox-static-files:/opt/netbox/netbox/static:ro - netbox-nginx-config:/etc/netbox-nginx/:ro
これを docker-compose up -d
で起動したあと、確認します。
$ docker-compose ps Name Command State Ports -------------------------------------------------------------------------------------------------------- netbox-docker_netbox-worker_1 python3 /opt/netbox/netbox ... Up netbox-docker_netbox_1 /opt/netbox/docker-entrypo ... Up netbox-docker_nginx_1 /docker-entrypoint.sh ngin ... Up 80/tcp, 0.0.0.0:49153->8080/tcp netbox-docker_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp netbox-docker_redis-cache_1 docker-entrypoint.sh sh -c ... Up 6379/tcp netbox-docker_redis_1 docker-entrypoint.sh sh -c ... Up 6379/tcp
抜粋すると、以下の通り、49153
が開放されました。
netbox-docker_nginx_1 /docker-entrypoint.sh ngin ... Up 80/tcp, 0.0.0.0:49153->8080/tcp
ただ、先程の docker-compose.yml
ですと、docker-compose up
のたびにポートが変わってしまい、たとえば、
netbox-docker_nginx_1 /docker-entrypoint.sh ngin ... Up 80/tcp, 0.0.0.0:49154->8080/tcp
となってしまい不便です。
docker-compose.override.yml
で上書きする
そこで docker-compose.override.yml
で上書きして起動する方法を試します。
まず、以下の内容の docker-compose.override.yml
を用意します。
version: '3.4' services: nginx: ports: - 8000:8080 EOF
この状態で docker-compose up -d
で起動したあと、確認します。
$ docker-compose ps Name Command State Ports ------------------------------------------------------------------------------------------------------------------------------- netbox-docker_netbox-worker_1 python3 /opt/netbox/netbox ... Up netbox-docker_netbox_1 /opt/netbox/docker-entrypo ... Up netbox-docker_nginx_1 /docker-entrypoint.sh ngin ... Up 80/tcp, 0.0.0.0:8000->8080/tcp,0.0.0.0:49153->8080/tcp netbox-docker_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp netbox-docker_redis-cache_1 docker-entrypoint.sh sh -c ... Up 6379/tcp netbox-docker_redis_1 docker-entrypoint.sh sh -c ... Up 6379/tcp
今度は 8000
も開放されました。「も」なのでマージ的な動作なのでしょうか。