Dockerコマンドまとめ

docker

  • コンテナ技術、コンテナ内に必要なアプリケーションを内包したImageを作成し、異なる環境に対して容易に適用できる状態にする。
  • 単体のコンテナに対してのコマンド

基本的なコマンド

docker image build

Desc:DockerfileからDockerイメージをビルドする。
Sample:

docker image build -t example/echo:latest .

Note: "." はカレントディレクトリを指す。

docker search

Desc:Docker HubにホストされているDockerイメージを検索する
Sample:

docker search nginx

Note: リポジトリのスター数の降順で表示される。

docker image pull

Desc:DockerレジストリからDockerイメージを取得する
Sample:

docker image pull gihyodocker/echo:latest
docker image ls

Desc:対象のDockerホストが保持しているDockerイメージの一覧表示
Sample:

docker image ls --no-trunc

Note:--no-truncオプションをつけることでIDなどが省略されずフルで表示される

docker image push

Desc:DockerレジストリにDockerイメージを送信して登録する
Sample:

docker image push localhost:5000/ch04/todoapi:latest
docker image tag

Desc:Dockerイメージのタグを作成する
Sample:

docker image tag ch04/nginx:latest localhost:5000/ch04/nginx:latest
docker container run

Desc:新規にDockerコンテナを実行する
Sample:

docker container run -d --rm --name cronjob example/cronjob:latest

Note:「-d」はバックグラウンドで実行

docker container ls

Desc:dockerdが保持しているコンテナの一覧を表示する
Sample:

docker container ls --no-trunc

Note:「--no-trunc」をつけることでコンテナID一覧が表示できる

docker container stop

Desc:実行中のコンテナを停止する
Sample:

docker container stop $(docker container ls --filter "ancestor=example/echo" -q)

Note:stopの後コンテナIDではなくlsコマンドの結果を抽出・停止するようにすれば一々調べる必要がない。

docker container restart

Desc:停止したコンテナを再実行する
Sample:

docker container restart <containerId>
docker container rm

Desc:ディスクからコンテナを削除する
Sample:

docker container rm <containerId>
docker container logs

Desc:コンテナのログ(標準出力)を表示する
Sample:


docker container exec -it

Desc:実行中のコンテナの中でコマンドを実行する
Sample:

docker container exec -it <Name>.<ID> bash

Note:最後がbashならcontainerに入ってbashが実行できる。mysqlならmysql起動など

docker container cp

Desc:コンテナからホスト側へファイル・ディレクトリをコピーする
Sample:

docker container cp <containerId>:<containerDir> <hostDir>

※引数の順番を逆にするとホスト→コンテナへのコピーとなる。

docker container prune

Desc:停止した全てのコンテナをディスクから削除する。(試したことはない)
Sample:

docker container prune
docker image prune

Desc:未使用の全てのDockerイメージをディスクから削除する(試したことはない)
Sample:

docker image prune
docker system prune

Desc:利用されていない一切のDockerリソース全てを削除する(試したことはない)
Sample:

docker system prune
docker container stats

Desc:コンテナ単位でのシステムリソースの利用状況をリアルタイムで表示する
Sample:

docker container stats --no-trunc

Note:「--no-trunc」を指定すると出力が省略されない


docker-compose

  • 複数コンテナで構成されるサービスを起動・管理するための機能
  • Dockerfileに必要な定義を設定、読み込むことで実現している

基本的なコマンド

docker-compose build

Desc:Composeで管理するServiceをイメージからビルドする
Sample:

docker-compose build

Note:実行した直下のDockerfileを読み込み、Imageのみ作成する

docker-compose create

Desc:Composeで管理するServiceを作成する
Sample:

docker-compose create
docker-compose start

Desc:Composeで管理するServiceを開始する
Sample:

docker-compose start

Note:コンテナ起動のみ※Imageがないとダメ

docker-compose up

Desc:Composeで管理するServiceを作成・開始する
Sample:

docker-compose up -d

Note:Image作成と起動まで全てやってくれる。オプション「-d」でバックグラウンド実行

docker-compose stop

Desc:Composeで実行中のServiceを停止する
Sample:

docker-compose stop
docker-compose rm

Desc:Composeで実行中のServiceを停止する
Sample:

docker-compose rm -f

オプション「-f」で強制削除

docker-compose down

Desc:Composeで実行中のServiceを削除する
Sample:

docker-compose down

Note:「docker-compose down --rmi all --volumes」という滅びの呪文があるらしい

docker-compose ps

Desc:Composeで実行中のコンテナ一覧を表示する
Sample:

docker-compose ps
docker-compose logs

Desc:COmposeで実行中のコンテナのログを集約して表示する
Sample:

docker-compose logs

以上です。