Docker Compose の設定ファイルの上書き

スポンサーリンク

はじめに

いまさらですが、Docker Compose の設定ファイルに上書き機能があることを知ったのでメモ。
公式のドキュメントはこちら。

ファイル間、プロジェクト間での Compose 設定の共有 — Docker-docs-ja 19.03 ドキュメント

基本仕様

docker-compose コマンドはデフォルトでは docker-compose.yml を設定として読み込みますが、docker-compose.override.yml というファイルがあると、さらにこのファイルを読み込んで docker-compose.yml の設定を上書きします。

-f オプションで設定ファイルを指定した場合は、docker-compose.yml, docker-compose.override.yml ともに読み込みません。

さらに、-f オプションで複数のファイルを指定した場合は、指定した順に読み込んで設定を上書きしていきます。
例えば下記だと、AAA.yml の設定を BBB.yml で上書きした設定で動きます。

% docker-compose -f AAA.yml -f BBB.yml

上書き例

docker-compose.yml にベースの設定を行い、docker-compose.override.yml に追加で上書きしたい設定をした例です。
例えば下記は、通常は 8888番ポートで Listen する設定になっているサービスを 80 番ポートで Listen するように上書きする設定です。

version: '3.4'

services:

  xxx-httpd:
    ports:
    - 80:8888

コメント

タイトルとURLをコピーしました