手順1 事前にネットワークをコマンドで作成する
$ docker network create oreore
oreore
に関しては社内で統一してルール化するとよさげ
手順2 docker-compose.ymlにネットワークを設定する
project_a/docker-compose.yml
~省略~
services:
app:
ports:
- 3000:3000
~省略~
networks:
- oreore
- default
db:
ports:
- 5432:5432
~省略~
networks:
oreore:
external: true
project_b/docker-compose.yml
~省略~
services:
app:
ports:
- 1323:1323
~省略~
networks:
- oreore
- default
db:
ports:
- 5431:5431
~省略~
networks:
oreore:
external: true
解説
networks:
oreore:
external: true
の部分については、
- 最初にコマンドで作った oreore
ネットワークを使うように設定
networks:
- oreore
- default
の部分については、サービス(コンテナ)を
-
oreore
ネットワークに追加 -
default
ネットワークにも追加
ということをやっています
注意
-
default
を忘れると同一のdocker-compose.yml
内での通信(app:3000
-db:5432
間)ができなくなる -
サービス名:ポート番号
が重複してると起動時にエラーになる