⓪docker_test-config_basics .pptx

>100 Views

July 18, 26

スライド概要

profile-image

はじめまして、yukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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

10.

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

11.

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