LoginSignup
37
38

More than 3 years have passed since last update.

Dockerの主なコマンド一覧

Posted at

Dockerの主なコマンド、オプション。
詳細は公式ドキュメント

Container

docker container ls [オプション]

稼働中のコンテナ一覧を表示する。

  • -a ― 停止中のコンテナも表示する。
  • -s ― ファイルサイズを表示する。

docker container [オプション] inspect コンテナ

コンテナの詳細情報を表示する。コンテナは複数指定可能(スペース区切り)。

docker container run [オプション] イメージ [コマンド]

イメージからコンテナを作成し、稼働させる(docker image pulldocker container createdocker container startを一度に実行する)。
コマンドの終了と同時に、コンテナも停止する。終了と同時に破棄したい場合は--rmをつける。

  • --name コンテナ名 ― コンテナ名を指定する。
  • -p ホストのポート番号:コンテナのポート番号 ― コンテナのポートをホストに公開する。コンテナ間の通信では不要。
  • --mount type=bind,src=ホストのディレクトリ,dst=コンテナのディレクトリ ― バインドマウント。ホストのディレクトリをコンテナにマウントする。複数指定可能。
  • --mount type=volume,src=ボリューム,dst=コンテナのディレクトリ ― ボリュームマウント。ボリュームをコンテナにマウントする。複数指定可能。
  • --volumes-from コンテナ ― 指定したコンテナと同じボリュームにマウントする
  • -e 環境変数名=値 ― 環境変数の設定
  • -dit ― コンテナをバックグラウンドで実行させる(デタッチモード)。デタッチ中のログはdocker container logsで確認できる。
  • -it ― 標準入出力をコンテナに結びつける(キー入力する場合)。
  • -i ― 標準入出力をコンテナに結びつける(キー入力しない場合)。
  • --rm ― コマンドの実行が完了したとき、コンテナを破棄する。
  • -w ― コンテナ内の作業ディレクトリを指定する。
  • --net ― 接続するDockerネットワークを指定する。
コマンド例
# apacheをバックグラウンドで実行する
$ docker container run -dit --name my-container -p 8080:80 --mount type=bind,src="$PWD",dir=/usr/local/apache2/htdocs/ httpd:latest

docker container create [オプション] イメージ [コマンド]

イメージからコンテナを作成する。作成時に実行したいコマンドを指定する。コマンドを省略すると、イメージ製作者が設定した規定のコマンドが実行される。

  • --name コンテナ名 ― コンテナ名を指定する。
  • -p ホストのポート番号:コンテナのポート番号 ― コンテナのポートをホストに公開する。コンテナ間の通信では不要。
  • --mount type=bind,src=ホストのディレクトリ,dst=コンテナのディレクトリ ― バインドマウント。ホストのディレクトリをコンテナにマウントする。複数指定可能。
  • --mount type=valume,src=ボリューム,dst=コンテナのディレクトリ ― ボリュームマウント。ボリュームをコンテナにマウントする。複数指定可能。
  • -e 環境変数名=値 ― 環境変数の設定

docker container start [オプション] コンテナ

停止中のコンテナを稼働させる。コンテナは複数指定可能(スペース区切り)。

docker container stop [オプション] コンテナ

コンテナを停止する。コンテナは複数指定可能(スペース区切り)。

docker container rm [オプション] コンテナ

コンテナを完全削除する。復活はできない。コンテナは複数指定可能(スペース区切り)。

docker container prune [オプション]

停止中のコンテナをすべて削除する。

docker container logs [オプション] コンテナ

コンテナのログを表示する。

docker container attach [オプション] コンテナ

Dockerホストのの標準入力、出力、およびエラーストリームを実行中のコンテナーにアタッチする。
デタッチする場合は「control + p, control + q」。

docker container exec [オプション] コンテナ コマンド

実行中のコンテナでコマンドを実行する。docker container runと異なり、コマンドの終了後もコンテナは稼働し続ける。

  • -it ― 標準入出力をコンテナに結びつける(キー入力する場合)。
  • -i ― 標準入出力をコンテナに結びつける(キー入力しない場合)。
  • -w ― コンテナ内の作業ディレクトリを指定する。
コマンド例
# 実行中のコンテナでシェルを実行する
$ docker container exec -it my-container /bin/bash

docker container cp [オプション] コピー元のパス コピー先のパス

Dockerホスト、コンテナ間でファイルをコピーする。コンテナが停止中でも可能。
コンテナは「コンテナ:パス」で指定する。

コマンド例
# Dockerホスト → コンテナ
$ docker container cp /tmp/index.html my-container:/usr/local/apache2/htdocs/
# コンテナ → Dockerホスト
$ docker container cp my-container:/usr/local/apache2/htdocs/index.html .

docker container commit [オプション] コンテナ [イメージ名[:タグ]]

コンテナからイメージを作成する

docker container export [オプション] コンテナ

コンテナのファイルシステムをtarアーカイブとしてエクスポートする。
作成されたtarアーカイブはdocker image importでイメージに変換できる。
docker image saveとは異なり、レイヤー情報やメタ情報は保存されない。
そのため、exportされたファイルをimportして作成したイメージは、runコマンドも明示的にコマンドを入力する必要がある。

  • -o パス ― ファイルに書き出す。

Image

docker image ls

Dockerホストに保存されたイメージの一覧を表示する。

docker image history [オプション] イメージ

イメージの変更履歴を表示する。

  • --no-trunc ― 省略せずに表示する。

docker image tag イメージ[:タグ] イメージ名[:タグ]

イメージ名・タグを変更する

docker image rm [オプション] イメージ

イメージを破棄する。イメージは複数指定可能(スペース区切り)。

docker image prune [オプション]

使用していないイメージをすべて削除する。

docker image build [オプション] パス

Dockerfileからイメージを作成する。

  • --no-cache ― イメージ作成時にキャッシュを使用しない。
  • -t イメージ名[:タグ] ― イメージ名を指定する。

docker image push [オプション] イメージ[:タグ]

Dockerレジストリにイメージをプッシュする。
DockerHubにプッシュする場合、イメージ名をdocker image tag等で「dockerId/リポジトリ名:タグ」に設定する必要がある。
まだ作成されていないリポジトリ名でプッシュすると、イメージ名と同名のpublicなリポジトリが作成される。

コマンド例
# DockerHubの自分のレジストリにプッシュする
$ docker login
$ docker image push dockerId/myimage

docker image pull [オプション] イメージ名[:タグ]

イメージをレジストリから取得する。取得したイメージはDockerホストに保存される。

docker image save [オプション] イメージ

イメージをtarアーカイブに保存する。イメージは複数指定可能(スペース区切り)。
デフォルトでSTDOUTにストリーミングされる。
保存したtarアーカイブはdocker image loadでイメージに変換できる。
docker container exportと異なり、レイヤー構造も保存される。

  • -o パス ― ファイルに書き込む。
コマンド例
$ docker image save -o savedimage.tar myimage

docker image load

tarアーカイブまたはSTDINからイメージを読み込む。
tarアーカイブはdocker image saveでコンテナから作成できる。

  • -i パス ― tarアーカイブファイルから読み込む。

docker image import [オプション] パス [イメージ名[:タグ]]

docker container exportによって作成されたtarファイルからイメージを読み込む。

Volume

docker volume ls [オプション]

ボリュームの一覧を表示する。

docker volume inspect [オプション] ボリューム

ボリュームの詳細情報を表示する。ボリュームは複数指定可能(スペース区切り)。

docker volume create [オプション] [ボリューム]

ボリュームを作成する。

  • --name ― ボリューム名を指定する

docker volume rm [オプション] ボリューム

ボリュームを削除する。

docker volume prune [オプション]

使用していないボリュームをすべて削除する。

Network

docker network ls [オプション]

Dockerのネットワークを一覧表示する。

docker network inspect [オプション] ネットワーク

Dockerのネットワークの詳細情報を表示する。

docker network create [オプション] ネットワーク名

ネットワークを作成する。

  • -d ― ドライバーを指定する。指定しなかった場合、bridgeネットワークが作成される。

docker network connect [オプション] ネットワーク コンテナ

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

docker network disconnect [オプション] ネットワーク コンテナ

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

docker network rm ネットワーク

ネットワークを削除する。ネットワークは複数指定可能(スペース区切り)。

その他

docker login [オプション] [サーバー]

Dockerレジストリにログインする

docker logout [サーバー]

Dockerレジストリからログアウトする

37
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
38