Docker, docker-composeコマンド一覧表


やる事

Docker, docker-composeをいじる時に、初歩的な事なのに毎回リファレンスや誰かの記事を見ている気がしたので、基本的な事全てを一瞬で把握できるように基本的な機能を表でまとめておきます。ほとんど自分用です。

※網羅出来ていないので、随時更新していきます。

環境

docker 20.10.7
docker-compose 1.29.2
※2021年7月5日現在の最新バージョンです。

Dockerコマンド

使用イメージ、コンテナ名など

今回は、pythonのイメージを使用しコンテナ名はmycontainerとします。

種類 使用イメージ タグ 備考
イメージ python latest Dockerhubのpythonのイメージ。最近は軽いと評判のalpine多め。
コンテナ名 mycontainer --- コンテナ名です

構築・起動系

コマンド名 イメージ作成 コンテナ作成 起動 停止 備考
pull × × × docker pull python タグ指定無しでlatestを取得。デフォルトはdockerhubからだが、別のレジストリからも取得可能。
build × × × docker build -t python:latest . Dockerfileからイメージを構築。-tオプションでimage名を指定出来る。
create × × × docker create -t -p 8000:8000 --name myproject -v C:\Users\user\myproject:/home/myproject python:latest コンテナを作成する。-tで疑似ターミナルを割り当て起動し続ける。-pでホスト側に公開するポートを指定、-vでマウントするパスを指定、nameでコンテナ名指定。最後にオプション無しでイメージを指定。
run × × docker run (createとオプションはほぼ同じ)python:latest 起動までしてくれる。オプションはcreateに似てる。
start × × × docker start mycontainer 指定コンテナの起動
stop × × × docker stop mycontainer 指定コンテナの停止
pause × × × 〇※1 docker pause mycontainer ※1.指定コンテナの一時停止
unpause × × 〇※2 × docker unpause mycontainer ※2.一時停止した指定コンテナの再開
restart × × × docker restart mycontainer 指定コンテナの再起動
kill × × × 〇※4 docker kill mycontainer ※4. 指定のコンテナを停止する。-sでシグナルも指定出来る。デフォルトはSIGKILL。

接続系

コマンド名 接続 切断 備考
exec × docker exec -it mycontainer bash bashでエラー吐くなら、shか/bin/shを使用する。

確認系

コマンド名 確認内容 備考
ps コンテナ一覧 docker ps -a -aで全てのコンテナを表示。オプション無しで起動しているものを表示。
images イメージ一覧 docker images -aで中間コンテナも表示する。オプション無しだと中間コンテナは非表示。
stats リソース状態 docker stats mycontainer コンテナのリソース状態をリアルタイム監視出来る。コンテナ指定無しで-aを付けると全てのコンテナが対象。
diff ファイルの変更分の差分 docker diff mycontainer ファイルシステムで変更したところを出力してくれる。
top 実行中のプロセス docker top mycontainer コンテナで実行中のプロセスを表示。
info システムの広範囲な情報 docker info システム情報を表示。
logs コンテナのログの出力 docker logs mycontainer -f -fでリアルタイムで出力し続ける。
history イメージの履歴の出力 docker history python:latest イメージの履歴の出力。
search イメージの検索 docker search --limit=100 django djangoという単語でDocker Hubからイメージを検索する。--limitで出力結果の最大数を決められる。
events リアルタイムでイベントの監視 docker events dockerシステムのイベントを監視する。オプションで時間指定や、出力結果のフィルタも指定可能。

整理系

コマンド名 用途 備考
rm コンテナ削除 docker rm mycontainer -fで強制的に削除、-lでリンクを削除、-vで紐づけられたボリューム削除。
rmi イメージ削除 docker rmi python:latest -fで強制的に削除
rename コンテナ名変更 docker rename mycontainer newMyContainer 古い名前の次に新しい名前を入力する。
tag イメージにタグ付け docker tag ed45d5bb6847 python:mypython docker tag 【ソース】 【ターゲット】で指定する。ソースのところはイメージ名でも可、ターゲットはプライベートリポジトリとかも可。

docker-composeコマンド

例としてdocker-compose.ymlのサービス名は以下の様にします。

docker-compose.yml
version: '3.8'
services:
    api:
        # 省略
    web:
        # 省略

全体を通してdocker-composeコマンドはdocker-compose.ymlのservicesのものを操作対象としている。
この場合だと、apiとwebの事。

構築・起動系

コマンド名 イメージ作成 コンテナ作成 起動 停止 備考
pull × × × docker-compose pull 全てのサービスのイメージを取得する。サービス名指定も出来る。
build × × × docker-compose build 今いるディレクトリのdocker-compose.ymlを元にビルドする。
up × docker-compose -f docker-compose-dev.yml up -d -fでファイル名指定出来る。-dでバックグラウンドでコンテナを起動する。デフォルトでイメージが無かったらビルドしてくれるが、--buildオプション付けてと怒られる。ビルドしない指定なども可能。
down × × × 〇※1 docker-compose down ※1. コンテナの停止~削除まで行う。起動してなかったら削除のみ行う。
start × × × docker-compose start 既存の指定コンテナ起動
stop × × × docker-compose stop 既存の指定コンテナ停止
restart × × × docker-compose restart 停止中あるいは実行中の既存の指定コンテナの再起動をする。
pause × × × 〇※2 docker-compose pause ※2. 起動中のコンテナを一時停止状態にする。
unpause × × 〇※3 × docker-compose unpause ※3. 一時停止状態のコンテナを起動する。
kill × × × 〇※4 docker-compose kill ※4. 実行中のコンテナを強制終了させる。-sオプションでコンテナに送信するシグナルを指定出来る。デフォルトはSIGKILL。

接続系

コマンド名 接続 切断 備考
exec × docker-compose exec api bash docker execと同じ。こちらはサービス名を指定して接続できる。-Tオプションは無くても平気。bashでエラー吐くなら、shか/bin/shを使用する。

起動接続

コマンド名 コンテナ起動 接続 備考
run docker-compose run --rm api bash 1つのサービスに対して、1コマンドを実行出来る。この場合だとapiというサービスにbashコマンドを実行し、起動から接続まで行える。抜け出すとコンテナは停止状態になっている。--rmオプションで起動したらコンテナを削除する。付けないとrunする度にコンテナが生成されるため付けておく。

確認系

コマンド名 確認内容 備考
ps コンテナ一覧 docker-compose ps 指定のコンテナ一覧
port 公開ポート docker-compose port api 8000 「サービス名 port」と指定すると公開されるip:portを表示。
logs ログ docker-compose logs -f -fでリアルタイムでログを監視出来る。
images イメージ一覧 docker-compose images 生成済みコンテナで利用しているイメージ一覧を表示。
config Composeファイルの検証 docker-compose config --services --servicesでサービス一覧のみを表示。オプション無しで検証して表示。
top 実行中のプロセス docker-compose top 実行中のプロセスの表示。
help ヘルプの表示 docker-compose help ヘルプ表示
events 各コンテナのイベントの監視 docker-compose events 入力すると受信状態になり、別端末からコマンドを打ったりするとイベントが確認出来る。

整理系

コマンド名 削除対象 備考
rm コンテナ docker-compose rm 停止中のコンテナの削除

その他

コマンド名 内容 備考
bundle DABの作成 docker-compose bundle Composeファイルから分散アプリケーションバンドル(Distributed Application Bundle;DAB)を作成する。