docker-compose config を使ってみる
Docker docker-compose
Published: 2020-12-18

やったこと

docker-compose config を使ってみます。

確認環境

$ docker --version
Docker version 19.03.13, build 4484c46d9d
$ docker-compose --version
docker-compose version 1.27.4, build 40524192

調査

docker-compose config --help より

Validate and view the Compose file.

ファイルのバージョンをバリデーションをしてくるようです。

それでは使ってみましょう。

バリデーションが通る場合

docker-compose.yml

version: '3'
services:
  app1:
    build: .
    ports:
      - '9000:8080'
  app2:
    build: .
    ports:
      - '9090:8080'

このオプションをつけて実行してみます。

–services Print the service names, one per line.

$ docker-compose config --service
app1
app2

バリデーションが通らない場合

docker-compose.yml

version: '3'
serves:
  app1:
    build: .
    ports:
      - '9000:8080'

service と書くべきところを serves とします。

エラーが発生しました。

$ docker-compose config --service
ERROR: The Compose file './docker-compose.yml' is invalid because:
Invalid top-level property "serves". Valid top-level sections for this Compose file are: version, services, networks, volumes, secrets, configs, and extensions starting with "x-".

You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/