概要
2017年1月18日にリリースされた Docker v1.13
以降(今日現在の v17.03.0-ce
)は、 docker
コマンドラインの命令体系が再編成されました。本記事では変更に至った背景と、新旧コマンド体系の比較情報を整理します。
新しいサブコマンド体系の導入と背景
新しいコマンド体系の導入に至ったのは、docker
のトップレベル・コマンド群が 40 を越える状況(当時)となったためです。コマンドには頻繁に使うものもあれば、使わないものもあり、再編成されることになりました。
v1.13
から論理オブジェクト単位にコマンドが再編成されました。これは、「何」(コンテナやイメージ、ネットワーク)を、「どうするか」(作成、一覧、起動、停止)で扱います。そのため、従来よりもコマンドの利用目的が分かりやすくなります。たとえば、コンテナを管理する docker container
サブコマンド群や、イメージを管理する docker image
サブコマンド群の下で、これまでのコマンドが使えるようになります。
例:
-
docker ps
はdocker container ls
(コンテナの一覧) -
docker images
はdocker image ls
(イメージの一覧) -
docker history
はdocker image history
(イメージの履歴)
そして、これらの新コマンドは従来のコマンドと互換性があり、サポートは続いています。しかし、v1.13
以降、Docker は新しいコマンド体系の採用を推奨しています。
docker container コマンドはコンテナを管理
新コマンド | 旧コマンド | 説明 |
---|---|---|
docker container attach | docker attach | 実行中のコンテナにアタッチ |
docker container commit | docker commit | コンテナに対する変更から新しいイメージを作成 |
docker container cp | docker cp | コンテナとローカル間でファイルとディレクトリのコピー |
docker container create | docker | 新しいコンテナの作成 |
docker container diff | docker diff | イメージとコンテナの変更情報を調べる |
docker container exec | docker exec | 実行中のコンテナ内でコマンド実行 |
docker container export | docker export | コンテナのファイルシステムをtarアーカイブ化 |
docker container inspect | docker container inspect | コンテナの詳細情報を表示 |
docker container kill | docker kill | コンテナのプロセスを停止(kill) |
docker container logs | docker logs | コンテナのログを表示 |
docker container ls | docker ps | コンテナ一覧の表示 |
docker container pause | docker pause | コンテナのプロセスを一時停止(pause) |
docker container port | docker port | コンテナが使用しているポート情報の表示 |
docker container prune | (v1.13~) | 停止中の全コンテナを削除 |
docker container rename | docker rename | コンテナの名称を変更 |
docker container restart | docker restart | コンテナを再起動 |
docker container rm | docker rm | コンテナの削除 |
docker container run | docker run | 新しいコンテナを実行 |
docker container start | docker start | 停止中のコンテナを起動 |
docker container stats | docker stats | コンテナのリソース使用状況を表示 |
docker container stop | docker stop | 実行中のコンテナを停止 |
docker container top | docker top | コンテナが実行しているプロセスを表示 |
docker container unpause | docker unpause | 一時停止中のコンテナを再開 |
docker container update | docker update | コンテナの(リソース)設定を変更 |
docker container wait | docker wait | コンテナが停止するまで待機 |
強調部分は新旧コマンドで単純に docker container コマンド
と実行できないものです。また、リファレンスには書かれていませんが、 docker container ps
や docker container ls
でも docker ps
と同じ結果が表示できます。
docker image コマンドはイメージを管理
新コマンド | 旧コマンド | 説明 |
---|---|---|
docker image build | docker build | Dockerfile からイメージを構築(ビルド) |
docker image history | docker history | イメージの履歴を表示 |
docker image import | docker import | tar 形式のファイルを読み込み、イメージを作成 |
docker image inspect | docker inspect | イメージの詳細情報を表示 |
docker image load | docker load | tar 形式または標準入力からイメージを読み込む |
docker image ls | docker images | イメージ一覧表示 |
docker image prune | (v1.13~) | 使用していないイメージを削除 |
docker image pull | docker pull | イメージをレジストリから取得 |
docker image push | docker push | イメージをレジストリに送信 |
docker image rm | docker rmi | イメージを削除 |
docker image save | docker save | イメージを tar 形式または標準出力にストリーム |
docker image tag | docker tag | イメージを参照する新しいタグを付ける |
リファレンスには書かれていませんが、 docker image list
でも docker images
と同じ結果が表示できます。
参考
- Introducing Docker 1.13 - Docker Blog
- https://blog.docker.com/2017/01/whats-new-in-docker-1-13/
- Reference documentation - Docker Documentation
- https://docs.docker.com/reference/