(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Docker】docker startをしてもコンテナの状態がExitedになる

スポンサーリンク

事象

コンテナイメージを利用してコンテナをrunした際に即時でコンテナ終了がする。

原因

docker run -tiコンテナを作成していない

以下、補足です。

補足

dockerのマニュアルにもありますが、startは単にコンテナの起動でrunは新規コンテナの立ち上げです。

start : Start a container
run : Run a command in a new container

つまり、コマンドの引数は圧倒的にrunが豊富です。

# man docker-run

runのオプションはアルファベット順の頭をいくつか挙げても以下で収まりませんが

attach,add-host,blkio-weight,blkio-weight-device,cap-add,cap-drop,cgroup-par‐ent,cidfile,cpu-count,cpu-percent,cpu-period...

その中でも必須級によく使うオプションは -t -i です。

このオプションにより、stdinを接続したまま、つまりコンテナ内を操作できます。逆に、一度きりの実行であれば不要です。

-tiオプションを付けた場合
# docker run -ti ubuntu
root@790db5d9f507:/# exit
exit
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
790db5d9f507        ubuntu              "/bin/bash"         XX seconds ago      Exited (0) XX seconds ago                        kind_feynman
# docker start 790db5d9f507
790db5d9f507
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
790db5d9f507        ubuntu              "/bin/bash"         XX seconds ago      Up X second                                         kind_feynman

STATUSがUpしています

-tiオプションを付けない場合
# docker run ubuntu
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
2b5746559edb        ubuntu              "/bin/bash"         XX seconds ago       Exited (0) XX seconds ago                       kind_clarke
# docker start 2b5746559edb
2b5746559edb
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
2b5746559edb        ubuntu              "/bin/bash"         XX seconds ago      Exited (0) XX seconds ago                         kind_feynman

STATUSがUpしていません

コンテナを一度きりのコマンド発行ではなく、環境として利用したい場合はご注意ください。

以上、ご参考になれば幸いです。