2016-04-05 100 views
2

私は最初にdocker-compose.yamlを書くためにYAMLファイルを使用しています。ここでは、YAMLファイルで利用できる2つのバージョンがあることを知りました。 docker-compose.yamlを書いているときにどちらを使う必要がありますか?なぜですか?正確な違いは何ですか?YAMLバージョン1とYAMLバージョン2の正確な違いは何ですか?

+0

私はあなたが 'docker-compose.yml' v1とv2を意味すると思います。相違点はhttps://docs.docker.com/compose/compose-file/#versioningで確認されていますあなたは始まったばかりなので、おそらくv2は現在の標準であり、v1で利用できない機能をサポートしているからです。 –

答えて

0

物事は混乱しています。 2005年にリリースされ

  • YAMLバージョン1.1
  • YAMLバージョン1.2は2009

にリリースだから、何のYAMLバージョン2(ありません。一方で(とりわけ)YAML仕様のバージョンがありますYAML 1.0がありました)

一方、指定されていない場合はという文字列の文字列1のバージョンがあります。 docker-composeのバージョン1.6以降、バージョン2(文字列も含む)のドッカーがファイルを作成します。主な違いは、バージョン2では特定のservicesキーの下にすべてのサービスがあることです。これは当然のことながら、元のバージョン1トップレベルキーサービスの仕様を拡張する上でより柔軟性があります。

しかし、バージョン1とバージョン2の両方のファイルでは古いYAML 1.1標準を使用していますが、これはYAML 1.1の下ではポートマッピングの見積もりを必要とします。 。 YAML 1.2にはこの問題はありませんが、ドッカーの作成はPyYAMLに依存しており、YAML 1.2をサポートするために2009年以降に更新されませんでした。

the section on how to upgradeのIMOが実際の相違点2

私は小さなバージョンのラッパースクリプトdcwを使ってバージョン2のドッカー作成用ファイルをYAML 1.2に前処理しています(YAML 1.1。idiosyncrasiesについて心配する必要はありません)。また、内部から環境変数を設定することもできますdocker-compose.ymlファイル。

+0

ありがとう、それは違いを理解するのに役立ちます。 –

関連する問題