■ はじめに
https://dk521123.hatenablog.com/entry/2021/10/11/134840
で、Airflow の docker-compose.yml を触っている際に、 いくつか不明な表記があった。 その中で「拡張フィールド」について扱う。
Airflow の docker-compose.yml
https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml
x-airflow-common: &airflow-common # ★今回のテーマ # In order to add custom dependencies or upgrade provider packages you can use your extended image. # Comment the image line, place your Dockerfile in the directory where you placed the docker-compose.yaml # and uncomment the "build" line below, Then run `docker-compose build` to build the images. image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.10.0} # ☆ここは別記事「Docker compose ~ 環境変数 ~」参照 # ・・・略・・・ airflow-webserver: <<: *airflow-common # ★今回のテーマ
Docker compose ~ 環境変数 ~
https://dk521123.hatenablog.com/entry/2024/08/22/000539
目次
【1】拡張フィールド (Extension fields) 1)用途 2)サンプル 【2】その他Tips 1)アンカー(&) / エイリアス(*) 2)マージ(<<)
【1】拡張フィールド (Extension fields)
* Compose 形式 バージョン 3.4 で追加 * 「x-【キー】」で定義
https://docs.docker.jp/compose/compose-file/compose-file-v3.html#extension-fields
1)用途
* 定義を再利用する時に使用
2)サンプル
version: "3.9" x-volumes: &default-volume # 以下も同じ # x-volumes: # &default-volume driver: foobar-storage services: web: image: myapp/web:latest volumes: ["vol1", "vol2", "vol3"] volumes: vol1: *default-volume vol2: << : *default-volume name: volume02 vol3: << : *default-volume driver: default name: volume-local
【2】その他Tips
1)アンカー(&) / エイリアス(*)
* アンカー(&) が変数定義、エイリアス(*)が変数参照 * 詳細は、以下の関連記事を参照のこと
YAML (YAML Ain't Markup Language)
https://dk521123.hatenablog.com/entry/2019/10/13/000000
2)マージ(<<)
* マッピングをマージしたい場合は、<< を利用 * 詳細は、以下の関連記事を参照のこと
YAML (YAML Ain't Markup Language)
https://dk521123.hatenablog.com/entry/2019/10/13/000000
関連記事
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000
Docker compose ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/05/21/222910
Docker compose ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
Docker compose ~ 環境変数 ~
https://dk521123.hatenablog.com/entry/2024/08/22/000539
Apache Airflow ~ 環境構築 / Docker 編 ~
https://dk521123.hatenablog.com/entry/2021/10/11/134840
YAML (YAML Ain't Markup Language)
https://dk521123.hatenablog.com/entry/2019/10/13/000000