概要
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: Dockerfile1
container2:
build:
context: .
dockerfile: Dockerfile2
container3:
build: .
Dockerfile1
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