このドキュメントで説明されているソフトウェアはサポートされていないか、拡張サポートが提供されています。
現在サポートされているリリースにアップグレードすることをお薦めします。
バージョン1.6.0のDockerから、ラベルを使用してDockerデーモンやDockerコンテナおよびDockerイメージにメタデータを追加できるようになりました。
Dockerfileでは、次のようにLABEL
命令により、1つ以上のキーと値のペアを含むイメージ・ラベルを定義します。
LABEL com.mydom.dept="ITGROUP" \ com.mydom.version="1.0.0-ga" \ com.mydom.is-final \ com.mydom.released="June 6, 2015"
この例では、名前空間の競合を防ぐために、逆引きDNSフォーマット(com.mydom.
)で各キー名の先頭にデーモン名が付けられています。 各キーは常に文字列として表され、Dockerによって解釈されません。 値を省略すると、メタデータ内のキーの有無を使用して、リリース・ステータスなどの情報をエンコードできます。 バックスラッシュ文字を使用すると、ラベル定義を複数の行にわたって拡張できます。
次のように、docker inspectコマンドを使用して、イメージに関連付けられているラベルを表示できます。
$ docker inspect 7ac15076dcc1
...
"Labels": {
"com.mydom.dept": "ITGROUP",
"com.mydom.version": "1.0.0-ga",
"com.mydom.is-final": "",
"com.mydom.release-date": "June 6, 2015"
}
...
次のように、docker imagesおよびdocker psコマンドで--filter "label=key
[=value
]"オプションを指定して、メタデータ値が設定されているイメージおよび実行中のコンテナをリストできます。
$docker images --filter "label=com.mydom.dept='DEVGROUP'"
$docker ps --filter "label=com.mydom.is-beta2"
$docker ps --filter "label=env=Oracle\ Linux\ 6"
コンテナについては、次のようにdocker createおよびdocker runコマンドで--label key
=[value
]オプションを使用して、キーと値のペアを定義できます。
$ docker run -i -t --rm testapp:1.0 --label run="11" --label platform="Oracle Linux 6"
Docker Engineについては、--label key
=[value
]オプションを使用するか(コマンドラインからdockerを開始する場合)、またはDocker構成ファイル/etc/sysconfig/docker
を編集することができます。
OPTIONS="--label com.mydom.dept='DEVGROUP'"
コンテナおよびDockerデーモンは一時的なものであり、既知の環境で実行されているので、通常は、キー名に逆引きドメイン名の接頭辞を適用する必要はありません。