#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 に接続する事が可能となる。