---
title: ⓪docker_test-config_basics .pptx
tags:  #docker  
author: [Yukiko](https://www.docswell.com/user/yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GE5M8Q39E4.jpg?width=480
description: ⓪docker_test-config_basics .pptx by Yukiko
published: July 18, 26
canonical: https://www.docswell.com/s/yukiko_it/ZJWEJ4-2026-07-18-190232
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GE5M8Q39E4.jpg)

うさうさ研修工房
Docker Desktopで学ぶ
テスト設定 基礎編
Docker Composeで「壊れないテスト環境」を組み立てる
2026年7月時点の公式ドキュメントにもとづく解説
うさうさ先生


# Page. 2

![Page Image](https://bcdn.docswell.com/page/9729KPZ5JR.jpg)

Chapter 1
なぜテスト環境を
本番構成から分離するのか
本番用のDBに向けてテストを実行してしまう事故は珍しくありません。テスト
専用の使い捨て環境をコンテナで用意すれば、「試して壊して、また作り直
す」を安全に繰り返せます。
使い捨てできる
docker compose downで環境ごと消せる
本番から隔離
テスト用DB・ポートを別で用意できる
再現性が高い
誰の環境でも同じ手順で再現できる
うさうさ研修工房 | Dockerテスト設定 基礎編
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/DJY4N5R67M.jpg)

Chapter 2
テスト構成の作り方は
主に2通り
Docker公式ドキュメントでは、本番とテストの設定を分ける方法として
「Composeファイルを分割して重ねる」方式と「profilesで起動対象を絞る」方式
が案内されています。用途に応じて使い分けます。
① ファイル分割
compose.yaml + compose.test.yaml を -f で重ねる。差分だけ書けばよい
② profiles
1つのファイル内でサービスに profiles を付け、--profile で切り替える
うさうさ研修工房 | Dockerテスト設定 基礎編
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/V7NYXNX1E8.jpg)

Chapter 3
方法①： Composeファイルを重ねる
基本のcompose.yamlに、テスト用の差分だけを書いたcompose.test.yamlを重ね
ます。-f を複数指定すると、後から指定したファイルの内容がマージされます。
docker compose -f compose.yaml -f compose.test.yaml up
--build
docker-compose.override.yml という名前にすると、-f を書かなくても自動でマージされます（開
発用の調整に便利）。
出典：Docker公式ドキュメント（Compose / 本番環境でのCompose利用）
うさうさ研修工房 | Dockerテスト設定 基礎編
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/YJ9P8R8Y73.jpg)

Chapter 4
方法②： profilesで
対象サービスを絞る
サービスにprofilesを指定すると、通常は起動せず、対応するプロファイルを有効
にしたときだけ起動します。 1つのファイルで dev/test/prodを出し分けたいときに便
利です。
services:
test-db:
image: postgres:16
profiles: [&quot;test&quot;]
profiles
を指定しないサービスは常に起動します。中心サービスには
profilesを付けないのが公式の推奨
# 実行:
docker compose --profile test up
です。
うさうさ研修工房 | Dockerテスト設定 基礎編
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GJ8D8W8KJD.jpg)

Chapter 5
テストを安定させる：
healthcheckで起動待ちする
アプリやDBが「起動途中」のままテストを実行すると、失敗の原因が分かりにくくな
ります。healthcheckとdepends_onのcondition指定を組み合わせ、対象が “準備完
了”になってからテストを開始しましょう。
test:
build: ./test
depends_on:
app:
condition: service_healthy
うさうさ研修工房 | Dockerテスト設定 基礎編
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/LJLMRNRPER.jpg)

Chapter 6
テスト結果を CIに伝える：
--exit-code-from
docker compose up は既定では全体の終了を待ちません。 --exit-code-from にテス
ト用サービス名を指定すると、そのコンテナの終了コードをコマンド全体の結果と
して返せます。 CIのジョブ成否判定にそのまま使えます。
docker compose -f compose.yaml -f compose.test.yaml \
up --build --exit-code-from test
うさうさ研修工房 | Dockerテスト設定 基礎編
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/47MYRXR27W.jpg)

Chapter 7
環境変数もテスト用に分ける
docker composeはコマンド実行ディレクトリの .envファイルを自動で読み込みます。
テスト用の値は .env.testのような別ファイルに分け、実行時に明示的に指定すると
事故を防げます。
--env-file
docker compose --env-file .env.test up
COMPOSE_FILE
環境変数にファイルをパス区切りで列挙して指定
COMPOSE_PROFILES
有効化する profilesをカンマ区切りで指定
うさうさ研修工房 | Dockerテスト設定 基礎編
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/P7R9RNR5E9.jpg)

Chapter 8
終わったら片付ける：
down --volumes
テストが終わったコンテナやボリュームを残したままにすると、次回実行時に古い
データが残って結果がブレる原因になります。テストサイクルの最後は必ず片付
けをセットにしましょう。
docker compose up -d
./run_tests
docker compose down --volumes
うさうさ研修工房 | Dockerテスト設定 基礎編
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/PJXQRNRX7X.jpg)

Chapter 9
よくあるつまずき
Q. compose.test.yamlに何を書けばいい？
A. テスト用サービスの追加と、本番設定の上書き分だけ書けば十分です。
Q. profilesとファイル分割はどちらを使うべき？
A. 差分が大きいなら分割、切り替えの手軽さ重視ならprofilesが向いています。
Q. depends_onだけでは不十分？
A. 起動順の保証のみで、準備完了は保証しません。healthcheckと組み合わせましょう。
うさうさ研修工房 | Dockerテスト設定 基礎編
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/3JK9RNR9JD.jpg)

Closing
まとめ：分離・待機・片付けの
3点セット
本番構成とテスト構成は分離する（ファイル分割 or profiles）
healthcheck + depends_onで“準備完了”を待つ
--exit-code-fromでCIに結果を伝える
down --volumesで毎回きれいに片付ける
うさうさ研修工房 / うさうさ先生


