Dockerでコンテナ起動

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シェルを終了すると、コンテナも一緒に終了する。

こんな感じで、ドッカーを利用すると一瞬で基本的なコンテナを作成することができる。