廃止となった Engine 機能
読む時間の目安: 6 分
以下に示す機能一覧は Engine において廃止決定されたものです。 Docker Engine における廃止決定ポリシーについては 廃止決定に関するポリシー を参照してください。
イメージプッシュとプルに関するマニフェスト v2 スキーム 1
廃止決定されたリリース: v19.03.0
削除対象とされたリリース: v19.09.0
イメージマニフェスト v2 スキーム 1 フォーマットは廃止決定され、v2 スキーム 2 フォーマットに変わります。
利用中のレジストリが v2 スキーマ 1 対応の場合は、v2 スキーマ 2 への移行を管理者へ伝えてください。
古い「overlay」ストレージドライバー
廃止決定されたリリース: v18.09.0
overlay ストレージドライバーは廃止決定され、overlay2 に変わりました。
overlay2 は overlay の機能をすべて引き継いだ上で、その制約(過剰な inode 消費に関する制約)が取り除かれています。
この古い overlay ストレージドライバーは、将来のリリースにおいて削除される予定です。
overlay ストレージドライバーの利用者は、overlay2 ストレージドライバーに移行するようにしてください。
古い overlay ストレージドライバーでは、それまでの 4.x カーネル上において overlayFS をベースとしたファイルシステムを用いていました。
現在はサポートされているディストリビューションは、すべてにおいて overlay2 が利用できるようになっています。
(たとえカーネルが 4.x の場合や、下層側ディレクトリを複数可能とするサポートがある場合でも利用可能です。)
overlay ストレージドライバーの保守を続ける理由は、もはやなくなりました。
device mapper ストレージドライバー
廃止決定されたリリース: v18.09.0
devicemapper ストレージドライバーは廃止決定され、overlay2 に変わりました。
そして将来のリリースにおいて削除される予定です。
devicemapper ストレージドライバーの利用者は、現在デフォルトのストレージドライバーとなっている overlay2 などの、別のストレージドライバーへの移行が求められます。
devicemapper ストレージドライバーは、かつての 3.x カーネル上において Docker を稼動させることを勧めていましたが、そのカーネルでは、他のストレージドライバー(overlay2 や AUFS など)はサポートされません。
今では overlay2 への対応が、サポートされているディストリビューションに追加されたため、(たとえカーネルが 4.x の場合や、下層側ディレクトリを複数可能とするサポートがある場合であっても)devicemapper ストレージドライバーの保守を続ける理由は、もはやなくなりました。
AuFS ストレージドライバー
廃止決定されたリリース: v19.03.0
aufs ストレージドライバーは廃止決定され overlay2 に変わりました。
将来リリースにおいて削除される予定です。
aufs ストレージドライバーの利用者は、現在デフォルトのストレージドライバーとなっている overlay2 などの、別のストレージドライバーへの移行が求められます。
aufs ストレージドライバーは、OverlayFS をサポートしていない、たとえば Ubuntu 14.04 LTS などのディストリビューションにおいて Docker を稼動させる際にその利用を勧めていましたが、もともとは 3.14 カーネルにおいて提供されたものでした。
現在 Ubuntu 14.04 は Docker においてサポートされるディストリビューションではなくなりました。
また overlay2 への対応が、サポートされているディストリビューションに追加されたため、(たとえカーネルが 4.x の場合や、下層側ディレクトリを複数可能とするサポートがある場合であっても)aufs ストレージドライバーの保守を続ける理由は、もはやなくなりました。
Engine ラベルでの予約されている名前空間
廃止決定されたリリース: v18.06.0
Engine ラベルにおいて用いられる名前空間 com.docker.*、io.docker.*、org.dockerproject.* は、予約されたものとして常々説明されてきましたが、強制されるものではありませんでした。
今後はこの名前空間を利用した際に、これを利用しないよう、Engine のログに警告が出力されます。 これは 18.12 またはそれ以降においてはエラーとなります。
service create と service update の非同期実行
廃止決定されたリリース: v17.05.0
デフォルトで無効となったリリース: v17.10
17.05.0 では、任意のオプション --detach=false が追加され、docker service create と docker service update を同期して動作させることができるようになりました。
Docker 17.10 において、このオプションのデフォルト値は enable となります。
その場合 --detach フラグは、以前の(非同期の)動作を行うために利用するものとなります。
このオプションのデフォルトは Docker 17.10 における docker service rollback、docker service scale においても変更されます。
dockerd における -g フラグと --graph フラグ
廃止決定されたリリース: v17.05.0
dockerd または docker daemon コマンドにおける -g または --graph フラグは、恒常的なデータやリソース設定の保存場所とするディレクトリを指定するものでした。
これは、よりわかりやすい --data-root というものに変わります。
flag.
このフラグが追加されたのは Docker 1.0 以前であるため、削除 はされず 隠された フラグとなり、その利用は勧められないものとなりました。
NetworkSettings 配下のトップレベルのネットワークプロパティ
廃止決定されたリリース: v1.13.0
削除対象とされたリリース: v17.12
コンテナー定義の NetworkSettings 配下に、デフォルトの「bridge」ネットワークに関する情報がトップベレルにおいて設定されます。
EndpointID, Gateway, GlobalIPv6Address, GlobalIPv6PrefixLen, IPAddress,
IPPrefixLen, IPv6Gateway, MacAddress です。
このプロパティは廃止決定され、NetworkSettings.Networks 内での各ネットワークごとのプロパティに変わります。
このプロパティは、すでに Docker 1.9 において「廃止決定」されていましたが、下位互換のために残されていました。
詳細については #17538 を参照してください。
エンドポイント /images/json の filter パラメーター
廃止決定されたリリース: v1.13.0
削除対象とされたリリース: v17.12
filter パラメーターは、(イメージ名やイメージ名:タグの形で)イメージを一覧表示する際のフィルターですが、現在は通常のフィルター reference として実装されました。
repository:shortid によるイメージ参照
廃止決定されたリリース: v1.13.0
削除されたリリース: v17.12
イメージを参照するための構文 repository:shortid は利用されることが少なく、タグ参照とまぎらわしく、さらにダイジェスト参照とも混同されます。
repository:shortid によってイメージ参照を行うこの記述方法は、Docker 17.12 において削除されました。
docker daemon サブコマンド
廃止決定されたリリース: v1.13.0
削除されたリリース: v17.12
デーモンは個別のバイナリ(dockerd)として分離されたため、こちらを用いることになります。
Engine ラベルでのキー重複による値の衝突
廃止決定されたリリース: v1.13.0
削除されたリリース: v17.12
重複したキーが設定されその値が衝突した場合、エラーが発生することになります。 この場合、デーモンは起動されなくなります。
Dockerfile における MAINTAINER
廃止決定されたリリース: v1.13.0
MAINTAINER は LABEL の限定利用の形で当初利用されていましたが、代わりに LABEL を利用すべきものです。
バージョンを含まない API コール
廃止決定されたリリース: v1.13.0
削除対象とされたリリース: v17.12
API 呼び出しにおいては、API バージョンを指定することが必要です。
これによって、将来の Engine バージョンとの互換性を保つためです。
URL において、たとえば単に /containers/json とするのではなく、/v1.25/containers/json とすることが今後必要になります。
overlay/overlay2 での d_type 未設定時のファイルシステム
廃止決定されたリリース: v1.13.0
削除されたリリース: v17.12
ストレージドライバー overlay と overlay2 は、これが基づいているファイルシステムが d_type に対応していない場合、期待されるような動作をしません。
たとえば XFS は ftype=0 を使ってフォーマットされている場合には d_type をサポートしません。
Docker 17.12 以降、d_type 未対応のファイルシステムへのサポートは、今後の overlay2 の開発において行われません。
17.12 までにアップグレードした既存バージョンでは、警告が出力されます。
詳細は #27358 を参照してください。
docker import における 3 種類の引数形式
廃止決定されたリリース: v0.6.7
削除されたリリース: v1.12.0
docker import におけるコマンド形式 file|URL|- [REPOSITORY [TAG]] は 2013 年 11 月頃に廃止決定されました。
今後はサポートされません。
--help の短い形式 -h
廃止決定されたリリース: v1.12.0
削除対象とされたリリース: v17.09
Linux において短い形式のオプション(-h)は、長い形式(--help)に比べて、あまり一般的ではありません。
そしてサブコマンドのすべてにおいて利用できるわけではありません。
(これは衝突が起きる場合があるためで、たとえば docker create には -h / --hostname があります。)
このようなわけで、短い形式の -h は、サブコマンドの利用方法の説明からなくし、ドキュメント化もしていません。
そして今後は「廃止決定」としてラベルづけします。
docker login におけるフラグ -e、--email
廃止決定されたリリース: v1.11.0
削除されたリリース: v17.06
docker login コマンドは、操作対象とするレジストリ上に、入力されたユーザー名が存在しなかった場合に、そのアカウントを自動的に登録していましたが、現在この機能は削除されています。 この変更により、email フラグは必要なくなったため、廃止決定となります。
docker run における --security-opt のセパレーター(:)
廃止決定されたリリース: v1.11.0
削除対象とされたリリース: v17.06
--security-opt フラグでは、キーと値を切り分けて指定するためのセパレーター(:)は、今後は利用しません。
これはたとえば --storage-opt のような同様のフラグと一貫性を持たせるために、イコール(=)を利用します。
エンドポイント /containers/(IDまたは名前)/copy
廃止決定されたリリース: v1.8.0
削除されたリリース: v1.12.0
エンドポイント /containers/(IDまたは名前)/copy は廃止決定され、/containers/(IDまたは名前)/archive に変わります。
イベント API の不明瞭な項目
廃止決定されたリリース: v1.10.0
イベント API における以下の項目、ID、Status、From はすでに廃止決定されています。
これは、より表現が豊かな構造に変わります。
新たなフォーマットに関しては、イベント API のドキュメントを参照してください。
docker tag における -f フラグ
廃止決定されたリリース: v1.10.0
削除されたリリース: v1.12.0
さまざまな docker コマンド間にてタグづけ機能に一貫性を持たせるために、docker tag コマンドの -f フラグは廃止決定されました。
1 つのイメージから別のイメージへタグを移動する際に、-f を指定する必要はなくなりました。
そして -f フラグの指定がなく、あるいは指定されたタグがすでに使用中であっても、docker ではエラーとなりません。
API の container start における HostConfig
廃止決定されたリリース: v1.10.0
削除されたリリース: v1.12.0
POST /containers/{name}/start に対して HostConfig を設定することは廃止決定となりました。
代わりに、コンテナーの生成時(POST /containers/create)に定義するものとなります。
docker ps におけるフラグ --before、--since
廃止決定されたリリース: v1.10.0
削除されたリリース: v1.12.0
docker ps --before と docker ps --since というオプション指定は廃止決定されました。
代わりに docker ps --filter=before=... や docker ps --filter=since=... を利用するものとなります。
docker search におけるフラグ --automated、--stars
廃止決定されたリリース: v1.12.0
削除対象とされたリリース: v17.09
docker search --automated と docker search --stars というオプション指定は廃止決定されました。
代わりに docker search --filter=is-automated=... と docker search --filter=stars=... を利用するものとなります。
ドライバー固有ログのタグづけ
廃止決定されたリリース: v1.9.0
削除されたリリース: v1.12.0
ログのタグは、多くのログドライバーにおいて標準的な方式で生成されています。
このため、ドライバー固有のタグづけを行うオプション syslog-tag、gelf-tag、fluentd-tag は廃止決定とされています。
代わりに汎用的な tag オプションを利用します。
docker --log-driver=syslog --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}"
LXC ビルトインの実行ドライバー
廃止決定されたリリース: v1.8.0
削除されたリリース: v1.10.0
LXC ビルトインの実行ドライバー、lxc-config フラグ、API 項目は削除されました。
古くなったコマンドラインオプション
廃止決定されたリリース: v1.8.0
削除されたリリース: v1.10.0
フラグ -d と --daemon は廃止決定となり、daemon サブコマンドになりました。
docker daemon -H ...
以下のシングルダッシュ(-opt のような)形式のコマンドラインオプションは廃止決定となり、ダブルダッシュ(--opt のような)形式になりました。
docker attach -nostdin
docker attach -sig-proxy
docker build -no-cache
docker build -rm
docker commit -author
docker commit -run
docker events -since
docker history -notrunc
docker images -notrunc
docker inspect -format
docker ps -beforeId
docker ps -notrunc
docker ps -sinceId
docker rm -link
docker run -cidfile
docker run -dns
docker run -entrypoint
docker run -expose
docker run -link
docker run -lxc-conf
docker run -n
docker run -privileged
docker run -volumes-from
docker search -notrunc
docker search -stars
docker search -t
docker search -trusted
docker tag -force
以下のダブルダッシュによるオプションは廃止決定され、これに代わるものはありません。
docker run --cpuset
docker run --networking
docker ps --since-id
docker ps --before-id
docker search --trusted
廃止決定されたリリース: v1.5.0
削除されたリリース: v1.12.0
シングルダッシュ(-help)は削除されたため、代わりにダブルダッシュの --help を利用します。
docker -help
docker [COMMAND] -help
docker commit における --run フラグ
廃止決定されたリリース: v0.10.0
削除されたリリース: v1.13.0
docker commit のフラグ --run(その短い版である -run)は廃止決定となっています。
代わりに --changes フラグを利用します。
これは Dockerfile コマンドに指定することも可能です。
V1 レジストリとのやりとり
デフォルトで無効とされたリリース: v17.06
削除されたリリース: v17.12
1.8.3 においてフラグ --disable-legacy-registry=false が追加されました。
これは Docker デーモンが V1 レジストリに対して pull、push、login ができないようにするものです。
デフォルトは有効になっていますが、ゆくゆくは v1 プロトコルを廃止とする意図を示しています。
公開レジストリに対する V1 プロトコルのサポートは、1.13 において削除されました。 V1 を利用したミラー設定は、すべて v2 レジストリーミラー を利用して更新する必要があります。
Docker 17.12 以降は、V1 レジストリに対するサポートが削除されました。
そして --disable-legacy-registry フラグは今後利用できません。
これが設定されている場合、dockerd は処理に失敗します。
オーバーライドデーモンオプション --disable-legacy-registry
無効化されたリリース: v17.12
削除対象とされたリリース: v18.03
--disable-legacy-registry フラグは Docker 17.12 において無効化されました。
これを用いた場合にはエラー表示されます。
このエラー表示を行うことから、フラグそのものはまだ存在していますが、隠されています。
このフラグは Docker 18.03 において削除される予定です。
Docker コンテントトラストのパスフレーズ変数の名称変更
廃止決定されたリリース: v1.9.0
削除されたリリース: v1.12.0
v1.9 以降、Docker コンテントトラストのオフライン鍵はルート鍵に、タギング鍵はリポジトリ鍵にそれぞれ名称変更されています。 この変更にともなって、対応する環境変数も変更されています。
- DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE は DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE に名称変更されました。
 - DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE は DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE に名称変更されました。
 
dockerd の --api-enable-cors フラグ
廃止決定されたリリース: v1.6.0
削除リリース: v17.09
フラグ --api-enable-cors は v1.6.0 より廃止決定されていました。
これに代わって、フラグ --api-cors-header を利用してください。