web-dev-qa-db-ja.com

「docker ps」と「docker container ls」に違いはありますか?

docker ps および docker container ls 両方とも「コンテナーのリスト」と表示されますが、他のコマンドについては言及していません。これらの2つのコマンドに違いはありますか?

出力はまったく同じに見えます:

CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                    NAMES
bbe3d7158eaa        flaskmysqldockerized_web   "python app.py"          5 hours ago         Up 18 seconds       0.0.0.0:8082->5000/tcp   flaskmysqldockerized_web_1
4f7d3f0763ad        mysql                      "docker-entrypoint..."   6 hours ago         Up 18 seconds       0.0.0.0:3307->3306/tcp   flaskmysqldockerized_db_1
22
Martin Thoma

docker psdocker container lsの間に違いはありません。新しいコマンド構造(docker container <subcommand>)がDocker 1.13に追加され、コマンドラインの使用時に、より構造化されたユーザーエクスペリエンスが提供されます。

私の知る限り、古いスタイルのコマンド(docker psなど)のサポートを終了する公式の発表はまだありませんが、これは将来のある時点で起こると仮定するのが妥当かもしれません。

これは Docker 1.13のリリースに伴うブログ投稿 で説明されています:

Dockerは過去数年間で多くの機能を成長させており、現在Docker CLIには多くのコマンドがあります(執筆時点では40)。ビルドや実行など、頻繁に使用されるものもあれば、一時停止や履歴など、より不明瞭なものもあります。多くのトップレベルのコマンドはヘルプページを乱雑にし、タブ補完をより難しくします。

Docker 1.13では、すべてのコマンドを再グループ化して、相互作用する論理オブジェクトの下に配置しました。たとえば、listコンテナとstartofコンテナはdockerコンテナのサブコマンドになり、historyはdocker imageのサブコマンドになりました。

docker container list
docker container start
docker image history

これらの変更により、Docker CLI構文をクリーンアップし、ヘルプテキストを改善し、Dockerを使いやすくしました。古いコマンド構文は引き続きサポートされていますが、新しい構文を採用することをお勧めします。

32
helmbert