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
docker ps
とdocker 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を使いやすくしました。古いコマンド構文は引き続きサポートされていますが、新しい構文を採用することをお勧めします。