[Docker]コンテナの起動/停止

コンテナの起動および停止方法。

大まかなコンテナ構築手順

一般的な簡単なコンテナ構築手順は以下である。

  1. Dockerfileを作成する
  2. イメージをビルドする
  3. コンテナを起動/停止する ←今回はこちら
  4. コンテナへアクセスする
  5. コンテナ/イメージを削除する

コンテナの起動方法

ビルドしたイメージを使い、コンテナを起動する。

以下のコマンドでコンテナを起動する。

docker run -itd --name 任意のコンテナ名 イメージ名:タグ名もしくはイメージID

色々オプションの使い方はあるが、ひとまず-itdをつける。(説明は割愛)

起動後、以下で起動されたコンテナ確認できる。

docker ps

起動したのに上記のコマンドで出てこない・・・?という場合は、-aをつけると出てくるかも。この場合はコンテナは作成されているが、起動してすぐに停止してしまっている可能性が高い。

docker ps -a

コンテナの停止方法

起動中のコンテナは以下で停止する。

docker stop コンテナ名

docker psコマンドでは表示されなければ、停止していると判断できるが、-aをつけて停止しているステータスを確認することができる。

停止したコンテナの開始方法

停止したコンテナは以下で開始する。

docker start コンテナ名

実際にコンテナ起動/停止をしてみる

ビルドされたイメージを確認。

$ docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
mypythonimage   1.0       e0f51fa89a90   3 minutes ago   1.33GB

イメージと任意のコンテナ名を指定してコンテナを起動。

 $ docker run -itd --name mypycontainer mypythonimage:1.0
25122458d2a264d5cbbc56da34afedb07ac930282ac721cc24a27042de496af3

※イメージIDを指定する場合は以下。

docker run -itd --name mypycontainer e0f51fa89a90

コンテナが起動されたことを確認。

 $ docker ps
CONTAINER ID   IMAGE               COMMAND     CREATED          STATUS          PORTS     NAMES
25122458d2a2   mypythonimage:1.0   "python3"   41 seconds ago   Up 40 seconds             mypycontainer

コンテナを停止する。

 $ docker stop mypycontainer
mypycontainer

※コンテナIDを指定する場合は以下。

docker stop 25122458d2a2

コンテナが停止されていることを確認。-aをつけないと表示されないので注意。

 $ docker ps -a
CONTAINER ID   IMAGE               COMMAND     CREATED          STATUS                        PORTS     NAMES
25122458d2a2   mypythonimage:1.0   "python3"   15 minutes ago   Exited (137) 12 minutes ago             mypycontainer

再度コンテナを起動する。

 $ docker start mypycontainer
mypycontainer

コンテナが開始されたことを確認。

 $ docker ps
CONTAINER ID   IMAGE               COMMAND     CREATED       STATUS       PORTS     NAMES
25122458d2a2   mypythonimage:1.0   "python3"   4 hours ago   Up 4 hours             mypycontainer

以上でコンテナ起動/停止ができた。

次はコンテナへアクセスしてコンテナの動きを確認する。