概要

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

目次

サンプル作成

1つ目の docker-compose 作成

フォルダ構成

mycompose1
├── docker-compose.yml
└── volumes
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"

2つ目の docker-compose 作成

フォルダ構成

mycompose2
├── docker-compose.yml
└── volumes

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

version: '3' 

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

networks:
  default:
    name: mycompose1_default
    external: true

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


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-02-04 (日) 14:02:06 (136d)