はじめに
久しぶりのDockerなので、Quickstartからやってみたところ、いくつか目新しい点がありました。
この記事では、その中でも特に目に止まったポイントを 備忘録+共有 という形でまとめます。
📚 参考: Docker Compose Quickstart
対象読者
- しばらく Docker を触っていなかった方
- 英語のリファレンスを細かく読んでいない方
- Docker Compose の最近の書き方をざっくり知りたい方
※ この記事で紹介するのは、主に 2023年までに追加された機能です。2025年現在でもバリバリ使えます。
compose.yaml
を推奨(docker-compose.yaml
は旧スタイル)
docker-compose.yaml
も依然としてサポートされていますが、
現在は compose.yaml
が推奨 です。
version
はもう書かなくてOK!
Compose V2 以降では version
の記述は非推奨になりました。
昔はこんな風に書いていましたよね:
version: "3.8"
services:
...
versionを書かなくても、最新Compose仕様を優先するため、不要になったみたいです。
include
: Composeファイルを分割できる
Docker Compose 2.20.3 以降
外部yamlファイルを組み込むことができます。
これにより可読性を向上させることができます。
include:
- infra.yaml
services:
web:
build: .
ports:
- "8000:5000"
watch
: ファイル変更を自動反映!
Docker Compose 2.22.0 以降
コードを編集すると、実行中のconposeが自動的に更新される機能です。
docker compose watch
# または
docker compose up --watch
services:
web:
build: .
ports:
- "8000:5000"
develop:
watch:
- action: sync
path: .
target: /code
📘 解説:
-
path
: ローカルのパス(compose.yamlからの相対) -
target
: コンテナ内のパス
おわりに
今回、Quickstartをベースに最新のCompose機能を調べ直してみました。
2025年にも新機能(OCI artifacts)が追加されていたので、
興味がある方は公式リファレンスもぜひチェックしてみてください👇
ちなみに、記事作成にあたってChatGPTに添削してもらって今時な感じにしてもらいました。
絵文字を使ったり太字にしたり、見やすくなる工夫がされたなーと感じました。
機敏な方は、あ、ChatGPT使ったな?とすぐわかるんですかね。
ここまでお読みいただき、ありがとうございました。