LoginSignup
1
1

More than 3 years have passed since last update.

Dockerコンテナ操作コマンドのまとめ

Last updated at Posted at 2020-05-25

最近、dockerを勉強しています。
Dockerのコマンドって結構あって、覚えるの大変だなって思って、まとめました。

コンテナ生成/起動

$ docker container run [オプション] イメージ名[:タグ名] [引数]
オプション 説明
--attach, -a 標準入力/標準出力/標準エラー出力にアタッチ
--cidfile コンテナIDをファイルに出力する
--detach, -d コンテナを生成し、バッググラウンドで実行する
--interactive, -l コンテナの標準入力を開く
--tty, -t 端末デバイスを使う

コンテナを生成し、コンソールで対話的にコマンドを実行できます。

$ docker container run -it --name "test" centos /bin/bash

コンテナのバックグラウンド実行

$ docker container run [実行オプション] イメージ名[:タグ名] [引数]

オプション「-d」をつけると、バックグラウンド実行できる。

オプション 説明
--detach, -d コンテナを生成し、バッググラウンドで実行する
--user, -u ユーザー名を指定
--restart=[リスタート条件] コマンドの実行結果によって再起動を行う
--rm コマンド実行完了後にコンテナを自動で削除

リスタート条件

設定値 説明
no 再起動しない
on-failure 終了ステータスが0でない時に再起動する
on-failure:回数n 終了ステータスが0でない時にn回再起動する
always 常に再起動する
unless-stopped 直近のコンテナが停止状態でなければ、常に再起動する
$ docker container run -d centos /bin/ping localhost

コンテナを生成をし、localhostに対してpingコマンドを実行しています。
バックグラウンドで実行することをデタッチモードと呼びます。

対話式では、コマンドの結果がコンソール上に表示されるが、バックグラウンドでは起動したコンテナのコンテナIDが表示される。

バッググラウンドで実行されているかの確認

$ docker container logs

コンテナのネットワーク設定

$ docker container run [ネットワークオプション] イメージ名[:タグ名] [引数]
オプション 説明
--add-host=[ホスト名:IPアドレス] コンテナの/etc/hostsにホスト名とIPアドレスを定義する
--dns=[IPアドレス] コンテナ用のDNSサーバのIPアドレス指定
--expose=[IPアドレス] 指定したレンジのポート番号を割り当てる
--mac-address=[MACアドレス] コンテナのMACアドレスを指定する
--net=[ネットワーク名] コンテナのネットワークを指定する
--hostname, -h コンテナ自身のホスト名を指定する
--publish, -p[ホストのポート番号]:[コンテナのポート番号] ホストとコンテナのポートマッピング
--publish-all, -P ホストの任意のポートをコンテナに割り当てる

netオプションで指定する値

設定値 説明
brige ブリッジ接続を使う
none ネットワークに接続しない
containe:[name id]
host コンテナがホストOSのネットワークを使う
NETWORK ユーザー定義ネットワークを使う

ポートマッピング

$ docker container run -d -p 8080:80 nginx

ホストの8080ポートにアクセスすると、コンテナ上で動作するNginx(80番ポート)のサービスにアクセスできます。

DNSサーバを設定する

$ docker container run -d --dns IPアドレス nginx

などなど設定ができます。

リソースを指定してコンテナを生成/実行

$ docker container run [リソースオプション] イメージ名[:タグ名] [引数]
オプション 説明
--cpu-shares,-c CPUの使用の配分(比率)
--memory, -m 使用するメモリを制御して実行する
--volume=[ホストのディレクトリ]:[コンテナのディレクトリ], -v ホストとコンテナのディレクトを共有

コンテナを起動する時CPUとメモリのリソース利用を制限することができます。

デフォルトのcpu-sharesは、1024です。

コンテナの生成/起動する環境を指定

$ docker container run [環境設定オプション] イメージ名[:タグ名] [引数]
オプション 説明
--env, -e 環境変数を設定する
--env-file=[ファイル名] 環境変数をファイルから設定する
--read-only=[true or false] コンテナのファイルシステムを読み込み専用にする
--workdir=[パス],-w コンテナの作業ディレクトリを指定する
--user=[ユーザー名],-u ユーザー名またはUIDを設定する

稼働コンテナの一覧表示

$ docker container ls [オプション]
オプション 説明
--env, -e 環境変数を設定する
--env-file=[ファイル名] 環境変数をファイルから設定する
--read-only=[true or false] コンテナのファイルシステムを読み込み専用にする
--workdir=[パス],-w コンテナの作業ディレクトリを指定する
--user=[ユーザー名],-u ユーザー名またはUIDを設定する

--formatオプションを指定して、出力形式を変更することも可能。

コンテナの稼働確認

$ docker container stats [コンテナ識別子]

コンテナの起動

$ docker container start [コンテナ識別子]
オプション 説明
--attach, -a 標準出力/標準エラー出力を開く
--interactive, -l コンテナの標準入力を開く

コンテナの停止

$ docker container stop [オプション] コンテナ識別子 [コンテナ識別子]
オプション 説明
--time, -t コンテナの停止時間を指定する

コンテナの再起動

$ docker container restart [オプション] コンテナ識別子 [コンテナ識別子]
オプション 説明
--time, -t コンテナの停止時間を指定する

コンテナの削除

$ docker container rm [オプション] コンテナ識別子 [コンテナ識別子]
オプション 説明
--force, -f 起動中のコンテナを強制的に削除する
--valumes, -v 割り当てたボリューム削除

コンテナの中断/再開

中断

$ docker container pause コンテナ識別子

再開

$ docker container uppause コンテナ識別子

参考

プログラマのためのDocker教科書

1
1
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
1
1