
Dockerでコンテナ起動
2020, Aug 16
コンテナの実行コマンド
ドッカーを実行するコマンドは、次のとおり。
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
次は、よく使うオプションである。
- -d
detached mode バックグラウンドモード - -p
ホストとコンテナのポートを接続(フォワーディング) - -v
ホストとコンテナのディレクトリを接続(マウント) - -e
コンテナ内で使用する環境変数の設定 - –name
コンテナ名を設定 - –rm
プロセス終了時にコンテナを自動除去 - -it
-iと-tを同時に使用するもので、ターミナル入力のためのオプション - –link
コンテナを繋げる(コンテナ名には別称を使う)
コンテナの実行
まずは軽くubuntu 16.04
のコンテナを作って、コンテナの中に入ってみよう。
docker run ubuntu:16.04
run
コマンドを使用すると、使用するイメージが保存されていることを確認して、ない場合は、ダウンロードpull
した後、コンテナを作成create
し、開始start
する。
上記例題は、ubuntu:16.04
のイメージをダウンロードしたことがないため、イメージをダウンロードした後にコンテナが実行される。コンテナは正常に実行されたものの、何かを指示するコマンドを送信しなかったため、コンテナは作成されるとすぐに終了する。コンテナはプロセスなので、実行中のプロセスがなければ終了する。
今回は/bin/bash
コマンドを入力して、ubuntu:16.04
コンテナを実行してみよう。
docker run --rm -it ubuntu:16.04 /bin/bash
# in container
$ cat /etc/issue
Ubuntu 16.04.1 LTS \n \l
$ ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
コンテナの中に入るために、bashシェルを実行し、キーボード入力のために-it
オプションを設定する。さらにプロセスが終了したらコンテナが自動的に削除されるように--rm
オプションも追加する。
今回は、先ほどイメージをダウンロードしたので、イメージをダウンロードすることなく、実行される。 cat /etc/issueとlsを実行してみれば、ubuntuリナックスであることが分かる。
exitでbashシェルを終了すると、コンテナも一緒に終了する。
こんな感じで、ドッカーを利用すると一瞬で基本的なコンテナを作成することができる。