【チートシート】dockerコマンド一覧
はじめに
dockerコマンド一覧は検索すればいろいろ見つかるのですが、なかなか1つのサイトで完結するのが見つからなくて、あっちのサイト行ったりこっちのサイトへ行ったりページ渡り歩くのが面倒ですよね。
なので、自分用にこれだけ見れば十分という一覧をまとめました。
コンテナの操作
起動中のコンテナ一覧
$ docker ps
全てのコンテナ一覧(停止中のコンテナ含む)
$ docker ps -a
コンテナを作成(起動状態で)
$ docker run <イメージ名>[:タグ名]
例)docker run MyApp
例)docker run -d --name NginxCont -p 80:80 nginx
-d: デタッチモード。コンテナをバックグラウンドで実行し、新しいコンテナIDを出力します。
--name:コンテナに名前を割り当てます。
-p:コンテナのポートまたはポートの範囲をホストに公開します。
コンテナを作成(停止状態で)
$ docker create <イメージ名>[:タグ名]
例)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メンテナンス
コンテナのログ表示
$ docker logs <CONTAINER ID>
例)docker logs 08311c3ab75d
コンテナのプロセス表示
$ docker top <CONTAINER ID>
例)docker top 08311c3ab75d
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 logs <CONTAINER ID>
例)docker logs 08311c3ab75d
コンテナのネットワーク
ネットワークの作成
$ 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
HELP関連
man
$ man docker
$ man docker run
$ man docker container
公式ページ
↑公式のページです。僕もリファレンスとして活用しています。
Discussion