【チートシート】dockerコマンド一覧

Docker、コンテナ

はじめに

dockerコマンド一覧は検索すればいろいろ見つかるのですが、なかなか1つのサイトで完結するのが見つからなくて、あっちのサイト行ったりこっちのサイトへ行ったりページ渡り歩くのが面倒ですよね。
なので、自分用にこれだけ見れば十分という一覧をまとめました。


コンテナの操作

起動中のコンテナ一覧

$ docker ps 

全てのコンテナ一覧(停止中のコンテナ含む)

$ docker ps -a

コンテナを作成(起動状態で)

$ docker run <イメージ名(REPOSITORY)>[:タグ名] or <IMAGE ID>

例)docker run MyApp

例)docker run -d –name NginxCont -p 80:80 nginx
-d: デタッチモード。コンテナをバックグラウンドで実行し、新しいコンテナIDを出力します。
–name:コンテナに名前を割り当てます。
-p:コンテナのポートまたはポートの範囲をホストに公開します。

コンテナを作成(停止状態で)

$ docker create <イメージ名>[:タグ名] or <IMAGE ID>

例)docker create MyApp

コンテナの停止

$ docker stop <CONTAINER ID>

例)docker stop 08311c3ab75d

コンテナの起動

$ docker start <CONTAINER ID>

例)docker start 08311c3ab75d

コンテナの強制停止

$ docker kill <CONTAINER ID>

例)docker kill 08311c3ab75d

コンテナの再起動

$ docker restart <CONTAINER ID>

例)docker restart 08311c3ab75d

コンテナの削除

$ docker rm <CONTAINER ID>

例)docker rm 08311c3ab75d

例)docker rm -f 08311c3ab75d
-f: 強制削除。コンテナが起動中でも削除されます。

ファイルコピー

$ docker cp <FILE> <CONTAINER ID>:<PATH>  → ホストからコンテナへ

例)docker cp ./fileA.txt 08311c3ab75d:/tmp

$ docker cp <CONTAINER ID>:<FILEPATH> .  → コンテナからホストへ

例)docker cp 08311c3ab75d:/tmp/fileA.txt .

コンテナの詳細表示

$ docker container inspect <CONTAINER ID>

例)docker container inspect 08311c3ab75d


コンテナイメージの操作

コンテナイメージの確認

$ docker images

コンテナイメージの削除

$ docker rmi <IMAGE ID>

例)docker rmi 821a1f67ba23

コンテナイメージの履歴表示

$ docker history <IMAGE ID>

例)docker history 821a1f67ba23

コンテナイメージのビルド

$ docker build -t <REPOSITORY[:TAG]> .

※カレントディレクトリにDockerfileがある前提

例)docker build -t MyApp:latest .

コンテナイメージの作成

docker commit <CONTAINER ID> <イメージ名[:TAG]>

コンテナイメージの保存

$ docker save <REPOSITORY[:TAG]> -o <出力ファイル名>

例)docker save MyApp:latest -o /tmp/MyApp-latest.tar

-o:出力するファイル名 (-o無しのデフォルトは標準出力に出力する)

コンテナイメージのロード

$ docker load -i <保存したtarファイル名>

例)docker load -i /tmp/MyApp-latest.tar


Dockerメンテナンス

コンテナのログ表示

$ docker logs <CONTAINER ID>

例)docker logs 08311c3ab75d

コンテナのプロセス表示

$ docker top <CONTAINER ID>

例)docker top 08311c3ab75d

起動したコンテナにログイン

docker exec -it <CONTAINER ID> /bin/bash


Dockerレジストリ

Dockerイメージ検索

$ docker search <イメージ名>

例)docker search nginx

Dockerイメージダウンロード

$ docker pull <イメージ名>

例)docker pull ubuntu:18.04

Dockerイメージアップロード

$ docker push <レジストリの場所/リポジトリ名>[:バージョン]

例)docker push example.com/MyApp:11



コンテナのネットワーク

ネットワークの作成

$ docker network create --subnet <サブネットマスク> <ネットワークの名前>

例)docker network create –subnet 192.168.0.0/24 mynetwork

ネットワークの一覧表示

$ docker network ls

ネットワークの削除

$ docker network rm <ネットワークの名前>

例)docker network rm mynetwork

ネットワークにコンテナを接続

$ docker network connect <ネットワークの名前> <CONTAINER ID>
$ docker network connect --ip <IPアドレス> <ネットワークの名前> <CONTAINER ID>

–ip:コンテナのインターフェースに任意の IP アドレスを割り当て。

例)docker network connect –ip 192.168.0.1 mynetwork 08311c3ab75d

ネットワークからコンテナを切断

$ docker network disconnect <ネットワークの名前> <CONTAINER ID>

例)docker network disconnect mynetwork 08311c3ab75d

ネットワークの詳細表示

$ docker network inspect <ネットワークの名前>

例)docker network inspect mynetwork

未使用のネットワークをすべて削除

$ docker network prune

コンテナのボリューム

ボリュームの作成

$ docker volume create <ボリューム名>

例)docker volume create myvolume

ボリュームの削除

$ docker volume rm <ボリューム名>

例)docker volume rm myvolume

ボリュームの一覧表示

$ docker volume ls

未使用のボリュームをすべて削除

$ docker volume prune

ボリュームの詳細表示

$ docker volume inspect <ボリューム名>

例)docker volume inspect myvolume


一括操作

コンテナ全停止

$ docker stop $(docker ps -q)

コンテナ全削除

$ docker rm $(docker ps -q -a)

コンテナイメージ全削除

$ docker rmi $(docker images -q)

HELP関連

man

$ man docker
$ man docker run
$ man docker container

公式ページ

コマンドライン リファレンス — Docker-docs-ja 20.10 ドキュメント

↑公式のページです。僕もリファレンスとして活用しています。

コメント

タイトルとURLをコピーしました