#author("2024-02-04T05:01:12+00:00","","")
#author("2024-02-04T14:02:06+09:00","","")
#mynavi(dockerメモ)
#setlinebreak(on);

* 概要 [#gcf54c0a]

* 概要 [#dea61caa]
docker-compose のコンテナを、他の docker-compose で作成済みのコンテナと同じネットワークに配置する一番簡単な方法を記載する。

* 目次 [#r0b37270]
#contents
- 関連
-- [[dockerメモ]]
-- [[Dockerコンテナ同士の通信]]

* サンプル作成 [#b9057b33]

** 1つ目の docker-compose 作成 [#ya2883a5]

#html(<div class="pl10">)

フォルダ構成
#html(<div style="border: 1px solid #333; padding: 10px; margin-bottom: 10px;">)
#html(){{
mycompose1<br />
├── docker-compose.yml<br />
└── volumes
}};
#html(</div>)

#mycode2(){{
version: '3' 

services:
  mysamplepostgres1:
    hostname: mysamplepostgres1
    container_name: mysamplepostgres1
    image: postgres:14
    volumes:
      - "./volumes/pgdata:/var/lib/postgresql/data"
    environment:
      - POSTGRES_PASSWORD=postgres

  mysampleadminer1:
    hostname: mysampleadminer1
    container_name: mysampleadminer1
    image: adminer
    ports:
      - "8080:8080"
}}

#html(</div>)

** 2つ目の docker-compose 作成 [#e9b31bc8]
#html(<div class="pl10">)

フォルダ構成
#html(<div style="border: 1px solid #333; padding: 10px; margin-bottom: 10px;">)
#html(){{
mycompose2<br />
├── docker-compose.yml<br />
└── volumes
}};
#html(</div>)

上記の1つ目の docker-compose は デフォルトで mycompose1_default というネットワーク内に配置される為、
こちらの docker-compose のデフォルトネットワークも mycompose1_default にする事で、同一ネットワークにコンテナが配置される。
※ https://docs.docker.jp/compose/networking.html

#mycode2(){{
version: '3' 

services:
  mysampleadminer2:
    hostname: mysampleadminer2
    container_name: mysampleadminer2
    image: adminer
    ports:
      - "8081:8080"

networks:
  default:
    name: mycompose1_default
    external: true
}}

#html(</div>)

以上で、 mysampleadminer2 から mysamplepostgres1 というホスト名で postgreSQL に接続する事が可能となる。

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS