LoginSignup
12
11

More than 5 years have passed since last update.

2つのdocker-compose間で疎通させる

Last updated at Posted at 2016-06-26

合ってるかわからんけど一応できたのでメモ。

やりたいこと

  • ローカルのはなし
  • php-fpm / nginx 周りのフロントっぽいあたりがいる docker-compose
  • mysql / redis 周りのバックっぽいあたりがいる docker-compose の2つを用意
  • それぞれを起動させる
  • front から back に接続する

やったこと

いろいろやったけどとりあえず以下の方法でつながった。何か間違ってる気はする。もっといい方法が知りたい。

$ docker network create datastore-network

とりあえずこれで適当なネットワーク( driver:bridge, scope:local )を作成する。

それぞれの docker-compose.yml で datastore-network に対して設定する。
※volumesなどの設定は省略してますので、実際は適当に書いてください

backend
version: '2'
services:
  database:
    image: mariadb:10
    networks:
      outside:
        aliases:
          - database
networks:
  outside:
    external:
      name: datastore-network
frontend
version: '2'
services:
  php:
    build: ./php
    external_links:
      - database
    networks:
      - outside
      - frontend-tier

networks:
  frontend-tier:
    driver: bridge
  outside:
    external:
      name: datastore-network

こんな感じにして、 front も back も datastore-network につながってる感じになれたので、phpからは database:3306 に対して接続することができました。

いやぁでもマジこれで合ってるか全然自身ない。何かもっといい感じにexternal_links貼れるんじゃないかなって気がすごいする。けどわかんない。

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11