share facebook facebook twitter menu hatena pocket slack

2018.11.07 WED

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

甲斐 甲

WRITTEN BY 甲斐 甲

概要

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を指定したい

甲斐 甲

甲斐 甲

2018/7にJOIN。 最近の好みはサーバレスです。なんでもとりあえず試します。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。