廃止となった 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
を利用してください。