検索

docker-composeで特定のコンテナだけ既存のネットワークに参加させる方法

Before

docker-composeで既存のネットワークにコンテナを参加させる方法を調べると以下のような手法がよく紹介されてると思う。これだとApp1もApp2もexisting_networkに参加する。

services:
  App1:
  App2:
networks:
  default:
    external: true
    name: existing_network
Code language: YAML (yaml)

After

以下のように書くことで特定のコンテナだけ既存のネットワークに参加させられる。この場合はApp1だけexisting_networkに参加する。

services:
  App1:
    networks:
      existing_network:
  App2:
networks:
  existing_network:
    external: true
Code language: YAML (yaml)

実際にそのネットワークに参加しているネットワークを確認するときは以下のコマンドで行う

# docker network inspect ネットワーク名
docker network inspect existing_network
Code language: YAML (yaml)

またコンテナが既に作成済みの場合はdocker-composeをAfterの書き方に変えて、docker-compose up -d しても参加しっぱなしなのでdocker-compose donwでコンテナ全部削除して再度docker-compose up -dすること。

参考文献