概要

docker-compose.yml で複数コンテナの定義をする際に、Dockerfileは別にしたい!と調べてたらできたのでメモ。

手順

> mkdir 任意のディレクトリ
> cd 任意のディレクトリ
> touch docker-compose.yml
> touch Dockerfile1
> touch Dockerfile2

build.dockerfile で指定ができるみたいです。

docker-compose.yml

version: '3'

services:
  container1:
    build:
      context: .
      dockerfile: Dockerfile
  container2:
    build: 
      context: .
      dockerfile: Dockerfile2
  container3:
    build: .

Dockerfile

FROM python:3.6

Dockerfile2

FROM node:latest

コンテナを起動してみます。

> docker-compose up --build

Creating network "任意のディレクトリ_default" with the default driver
Building container1
Step 1/1 : FROM python:3.6
 ---> 4f13b7f2138e
Successfully built 4f13b7f2138e
Successfully tagged 任意のディレクトリ_container1:latest
Building container2
Step 1/1 : FROM node:latest
 ---> b064644cf368
Successfully built b064644cf368
Successfully tagged 任意のディレクトリ_container2:latest
Building container3
Step 1/1 : FROM python:3.6
 ---> 4f13b7f2138e
Successfully built 4f13b7f2138e
Successfully tagged 任意のディレクトリ_container3:latest
Creating 任意のディレクトリ_container3_1 ... done
Creating 任意のディレクトリ_container2_1 ... done
Creating 任意のディレクトリ_container1_1 ... done
Attaching to 任意のディレクトリ_container1_1, 任意のディレクトリ_container2_1, 任意のディレクトリ_container3_1
任意のディレクトリ_container1_1 exited with code 0
任意のディレクトリ_container2_1 exited with code 0
任意のディレクトリ_container3_1 exited with code 0

やったぜ。

参考

docker-compose コマンドまとめ
https://qiita.com/wasanx25/items/d47caf37b79e855af95f

元記事はこちら

docker-compose.ymlでDockerfileを指定したい