OSS・Docker

Dockerコンテナ作作成・一覧コマンド

Dockerコンテナ作作成・一覧コマンドのご紹介です。
よく使うコマンドなので覚えておくと良いと思います。

run image 

使い方: docker run [オプション] イメージ [コマンド] [引数...]

新しいコンテナを実行する命令

  -a, --attach=[]               STDIN、STDOUT、STDERR にアタッチする
  --add-host=[]                 ホストから IP アドレスのマッピングをカスタマイズして追加 (host:ip)
  --blkio-weight=0              ブロック IO ウエイト (相対ウエイト)
  --blkio-weight-device=[]      ブロック IO ウエイト (相対デバイス・ウエイト。書式: `デバイス名:ウエイト`)
  --cpu-shares=0                CPU 共有 (相対ウエイト)
  --cap-add=[]                  Linux ケーパビリティの追加
  --cap-drop=[]                 Linux ケーパビリティの削除
  --cgroup-parent=""            コンテナ用のオプション親 cgroup を指定
  --cidfile=""                  コンテナ ID をファイルに書き出し
  --cpu-percent=0               コンテナが実行可能な CPU 使用率のパーセントを制限。Windowsのみ
  --cpu-period=0                CPU CFS (Completely Fair Scheduler) ペイロードの制限
  --cpu-quota=0                 CPU CFS (Completely Fair Scheduler) クォータの制限
  --cpuset-cpus=""              実行を許可する CPU (0-3, 0,1)
  --cpuset-mems=""              実行を許可するメモリ必要量 (0-3, 0,1)
  -d, --detach                  コンテナをバックグラウンドで実行し、コンテナ ID を表示
  --detach-keys                 コンテナのデタッチに使うエスケープ・キー・シーケンスを設定
  --device=[]                   ホスト・デバイスをコンテナに追加
  --device-read-bps=[]          デバイスからの読み込みレート (バイト/秒) を制限 (例: --device-read-bps=/dev/sda:1mb)
  --device-read-iops=[]         デバイスからの読み込みレート (IO/秒) を制限 (例: --device-read-iops=/dev/sda:1000)
  --device-write-bps=[]         デバイスへの書き込みレート (バイト/秒) を制限  (例: --device-write-bps=/dev/sda:1mb)
  --device-write-iops=[]        デバイスへの書き込みレート (IO/秒) を制限 (例: --device-write-bps=/dev/sda:1000)
  --disable-content-trust=true  イメージの認証をスキップ
  --dns=[]                      カスタム DNS サーバの指定
  --dns-opt=[]                  カスタム DNS オプションの指定
  --dns-search=[]               カスタム DNS 検索ドメインの指定
  -e, --env=[]                  環境変数を指定
  --entrypoint=""               イメージのデフォルト ENTRYPOINT を上書き
  --env-file=[]                 ファイルから環境変数を読み込み
  --expose=[]                   ポートまたはポート範囲を露出
  --group-add=[]                参加するグループを追加
  -h, --hostname=""             コンテナのホスト名
  --help                        使い方の表示
  -i, --interactive             コンテナの STDIN にアタッチ
  --ip=""                       コンテナの IPv4 アドレス (例: 172.30.100.104)
  --ip6=""                      コンテナの IPv6 アドレス (例: 2001:db8::33)
  --ipc=""                      使用する IPC 名前空間
  --isolation=""                コンテナの分離(独立)技術
  --kernel-memory=""            Kernel メモリ上限
  -l, --label=[]                コンテナにメタデータを指定 (例: --label=com.example.key=value)
  --label-file=[]               行ごとにラベルを記述したファイルを読み込み
  --link=[]                     他のコンテナへのリンクを追加
  --link-local-ip=[]            コンテナとリンクするローカルの IPv4/IPv6 アドレス (例: 169.254.0.77, fe80::77)
  --log-driver=""               コンテナ用のログ記録ドライバを追加
  --log-opt=[]                  ログドライバのオプションを指定
  -m, --memory=""               メモリ上限
  --mac-address=""              コンテナの MAC アドレス (例: 92:d0:c6:0a:29:33)
  --io-maxbandwidth=""          システム・デバイスの IO 帯域に対する上限を指定(Windowsのみ)。
                                書式は `<数値><単位>`。単位はオプションで `b` (バイト/秒)、
                                `k` (キロバイト/秒)、 `m` (メガバイト/秒)、 `g` (ギガバイト/秒)。
                                単位を指定しなければ、システムはバイト/秒とみなす。
                                --io-maxbandwidth と --io-maxiops は相互排他オプション
  --io-maxiops=0                システム・ドライブの最大 IO/秒に対する上限を指定 *Windowsのみ)
                                --io-maxbandwidth と --io-maxiops は相互排他オプション
  --memory-reservation=""       メモリのソフト上限
  --memory-swap=""              整数値の指定はメモリにスワップ値を追加。-1は無制限スワップを有効化
  --memory-swappiness=""        コンテナ用メモリのスワップ程度を調整。整数値の 0 から 100 で指定
  --name=""                     コンテナに名前を割り当て
  --net="bridge"   : コンテナをネットワークに接続
                                'bridge': docker ブリッジ上でコンテナ用に新しいネットワーク・スタックを作成
                                'none': コンテナにネットワーク機能を付けない
                                'container:<name|id>': 他のコンテナ用ネットワーク・スタックを再利用
                                'host': コンテナ内でホスト側ネットワーク・スタックを使用
                                'NETWORK': 「docker network create」コマンドでユーザ作成したネットワークを使用
  --net-alias=[]                コンテナにネットワーク内部用のエイリアスを追加
  --oom-kill-disable            コンテナの OOM Killer を無効化するかどうか指定
  --oom-score-adj=0             コンテナに対してホスト側の OOM 優先度を設定 ( -1000 ~ 1000 を指定)
  -P, --publish-all             全ての露出ポートをランダムなポートに公開
  -p, --publish=[]              コンテナのポートをホスト側に公開
  --pid=""                      使用する PID 名前空間
  --pids-limit=-1                コンテナの pids 制限を調整 (kernel 4.3 以上は -1 で無制限に設定)
  --privileged                  このコンテナに対して拡張権限を与える
  --read-only                   コンテナのルート・ファイルシステムを読み込み専用としてマウント
  --restart="no"                再起動ポリシー (no, on-failure[:max-retry], always, unless-stopped)
  --rm                          コンテナ終了時、自動的に削除
  --runtime=""                  コンテナで使うランタイム名を指定
  --shm-size=[]                 `/dev/shm` のサイズ。書式は `<数値><単位>`. `数値` は必ず `0` より大きい。単位はオプションで `b` (bytes)、 `k` (kilobytes)、 `m` (megabytes)、 `g` (gigabytes) を指定可能。単位を指定しなければ、システムは bytes を使う。数値を指定しなければ、システムは `64m` を使う
  --security-opt=[]             セキュリティ・オプション
  --sig-proxy=true              受信したシグナルをプロセスにプロキシ
  --stop-signal="SIGTERM"       コンテナの停止シグナル
  --storage-opt=[]              コンテナごとにストレージ・ドライバのオプションを指定
  --sysctl[=*[]*]]              実行時に名前空間カーネル・パラメータを調整
  -t, --tty                     疑似ターミナル (pseudo-TTY) を割り当て
  -u, --user=""                 ユーザ名または UID
  --userns=""                   コンテナのユーザ名前空間
                                'host': Docker ホストで使うユーザ名前空間
                                '': Docker デーモンのユーザ名前空間を指定するには `--userns-remap` オプションを使う
  --ulimit=[]                   Ulimit オプション
  --uts=""                      使用する UTS 名前空間
  -v, --volume=[ホスト側ソース:]コンテナ側送信先[:<オプション>]
                                ボリュームを拘束マウント。カンマ区切りで指定
                                `オプション` は [rw|ro], [z|Z], [[r]shared|[r]slave|[r]private], [nocopy]
                                'ホスト側ソース' は絶対パスまたは名前の値
  --volume-driver=""            コンテナのボリューム・ドライバ
  --volumes-from=[]             指定したコンテナからボリュームをマウント
  -w, --workdir=""              コンテナ内の作業用ディレクトリを指定

docker create

使い方: docker create [オプション] イメージ [コマンド] [引数...]

新しいコンテナを作成

  -a, --attach=[]               STDIN、STDOUT、STDERR にアタッチする
  --add-host=[]                 ホストから IP アドレスのマッピングをカスタマイズして追加 (host:ip)
  --blkio-weight=0              ブロック IO ウエイト (相対ウエイト)
  --blkio-weight-device=[]      ブロック IO ウエイト (相対デバイス・ウエイト。書式: `デバイス名:ウエイト`)
  --cpu-shares=0                CPU 共有 (相対ウエイト)
  --cap-add=[]                  Linux ケーパビリティの追加
  --cap-drop=[]                 Linux ケーパビリティの削除
  --cgroup-parent=""            コンテナ用のオプション親 cgroup を指定
  --cidfile=""                  コンテナ ID をファイルに書き出し
  --cpu-period=0                CPU CFS (Completely Fair Scheduler) ペイロードの制限
  --cpu-quota=0                 CPU CFS (Completely Fair Scheduler) クォータの制限
  --cpuset-cpus=""              実行を許可する CPU (0-3, 0,1)
  --cpuset-mems=""              実行を許可するメモリ必要量 (0-3, 0,1)
  --device=[]                   ホスト・デバイスをコンテナに追加
  --device-read-bps=[]          デバイスからの読み込みレート (バイト/秒) を制限
  --device-read-iops=[]         デバイスからの読み込みレート (IO/秒) を制限
  --device-write-bps=[]         デバイスへの書き込みレート (バイト/秒) を制限 (例: --device-write-bps=/dev/sda:1mb)
  --device-write-iops=[]        デバイスへの書き込みレート (IO/秒) を制限 (例: --device-write-iops=/dev/sda:1000)
  --disable-content-trust=true  イメージの認証をスキップ
  --dns=[]                      カスタム DNS サーバの指定
  --dns-opt=[]                  カスタム DNS オプションの指定
  --dns-search=[]               カスタム DNS 検索ドメインの指定
  -e, --env=[]                  環境変数を指定
  --entrypoint=""               イメージのデフォルト ENTRYPOINT を上書き
  --env-file=[]                 ファイルから環境変数を読み込み
  --expose=[]                   ポートまたはポート範囲を露出
  --group-add=[]                参加するグループを追加
  -h, --hostname=""             コンテナのホスト名
  --help                        使い方の表示
  -i, --interactive             アタッチしていなくても STDIN を開き続ける
  --ip=""                       コンテナの IPv4 アドレス (例: 172.30.100.104)
  --ip6=""                      コンテナの IPv6 アドレス (例: 2001:db8::33)
  --ipc=""                      使用する IPC 名前空間
  --isolation=""                コンテナの分離(独立)技術
  --kernel-memory=""            Kernel メモリ上限
  -l, --label=[]                コンテナにメタデータを指定 (例: --label=com.example.key=value)
  --label-file=[]               行ごとにラベルを記述したファイルを読み込み
  --link=[]                     他のコンテナへのリンクを追加
  --log-driver=""               コンテナ用のログ記録ドライバを追加
  --log-opt=[]                  ログドライバのオプションを指定
  -m, --memory=""               メモリ上限
  --mac-address=""              コンテナの MAC アドレス (例: 92:d0:c6:0a:29:33)
  --memory-reservation=""       メモリのソフト上限
  --memory-swap=""              整数値の指定はメモリにスワップ値を追加。-1は無制限スワップを有効化
  --memory-swappiness=""        コンテナ用メモリのスワップ程度を調整。整数値の 0 から 100 で指定
  --name=""                     コンテナに名前を割り当て
  --net="bridge"   : コンテナをネットワークに接続
                                'bridge': docker ブリッジ上でコンテナ用に新しいネットワーク・スタックを作成
                                'none': コンテナにネットワーク機能を付けない
                                'container:<name|id>': 他のコンテナ用ネットワーク・スタックを再利用
                                'host': コンテナ内でホスト側ネットワーク・スタックを使用
                                'NETWORK': 「docker network create」コマンドでユーザ作成したネットワークを使用
  --net-alias=[]                コンテナにネットワーク内部用のエイリアスを追加
  --oom-kill-disable            コンテナの OOM Killer を無効化するかどうか指定
  --oom-score-adj=0             コンテナに対してホスト側の OOM 優先度を設定 ( -1000 ~ 1000 を指定)
  -P, --publish-all             全ての露出ポートをランダムならポートに公開
  -p, --publish=[]              コンテナのポートをホスト側に公開
  --pid=""                      使用する PID 名前空間
  --pids-limit=-1                コンテナの pids 制限を調整 (kernel 4.3 以上は -1 で無制限に設定)
  --privileged                  このコンテナに対して拡張権限を与える
  --read-only                   コンテナのルート・ファイルシステムを読み込み専用としてマウント
  --restart="no"                再起動ポリシー (no, on-failure[:max-retry], always, unless-stopped)
  --security-opt=[]             セキュリティ・オプション
  --stop-signal="SIGTERM"       コンテナの停止シグナル
  --shm-size=[]                 `/dev/shm` のサイズ。書式は `<数値><単位>`. `数値` は必ず `0` より大きい。単位はオプションで `b` (bytes)、 `k` (kilobytes)、 `m` (megabytes)、 `g` (gigabytes) を指定可能。単位を指定しなければ、システムは bytes を使う。数値を指定しなければ、システムは `64m` を使う
  -t, --tty                     疑似ターミナル (pseudo-TTY) を割り当て
  -u, --user=""                 ユーザ名または UID
  --userns=""                   コンテナのユーザ名前空間
                                'host': Docker ホストで使うユーザ名前空間
                                '': Docker デーモンのユーザ名前空間を指定するには `--userns-remap` オプションを使う
  --ulimit=[]                   Ulimit オプション
  --uts=""                      使用する UTS 名前空間
  -v, --volume=[ホスト側ソース:]コンテナ側送信先[:<オプション>]
                                ボリュームを拘束マウント。カンマ区切りで指定
                                `オプション` は [rw|ro], [z|Z], [[r]shared|[r]slave|[r]private], [nocopy]
                                'ホスト側ソース' は絶対パスまたは名前の値
  --volume-driver=""            コンテナのボリューム・ドライバ
  --volumes-from=[]             指定したコンテナからボリュームをマウント
  -w, --workdir=""              コンテナ内の作業用ディレクトリを指定

docker ps

使い方: docker ps [オプション]

コンテナの一覧

  -a, --all             全てのコンテナを表示 (デフォルトは実行中コンテナのみ表示)
  -f, --filter=[]       以下の状況に応じて出力をフィルタ:
                        - exited=<整数> 終了コードを <整数> で指定
                        - label=<key> または label=<key>=<value>
                        - status=(created|restarting|running|paused|exited)
                        - name=<文字列> コンテナ名
                        - id=<ID> コンテナ ID
                        - before=(<コンテナ名>|<コンテナID>)
                        - since=(<コンテナ名>|<コンテナID>)
                        - ancestor=(<イメージ名>[:タグ]|<イメージID>|<イメージ@ダイジェスト値>) - 特定のイメージや子孫から作成されたコンテナ
                        - volume=(<ボリューム名>|<マウント・ポイント>)
  --format=[]           Go テンプレートを使いコンテナの表示を整形
  --help                使い方の表示
  -l, --latest          最後に作成したコンテナを表示 (どのような状態でも)
  -n=-1                 直近で作成した n コンテナを表示 (どのような状態でも)
  --no-trunc            トランケート (truncate) を出力しない
  -q, --quiet           整数値の ID のみ表示
  -s, --size            合計ファイルサイズを表示

Stats

使い方: docker stats [オプション] [コンテナ...]

1つまたは複数のコンテナのリソース使用状況をライブで流し続ける

  -a, --all          全てのコンテナを表示(デフォルトは実行中のものだけ)
  --help             使い方の表示
  --no-stream        ストリームを無効化し、初回の結果しか表示しない
  • この記事を書いた人

marusuke1216

30代のシステムエンジニア。 インフラ関連の案件中に従事している。 資格は、ネットワークスペシャリスト、PMO等を保有。

-OSS・Docker