入門docker 復習(3)
コンポーネント
container
Docker Containerとは
- Docker Image がスナップショットだとしたらDocker Container「スナップショットから起動したプロセス」
- docker run を実行するとDocker Image をもとにしてDocker Containerが作成され、隔離された環境が作成される
- Docker Container は Docker Imageを元にして作成され、リソースの許す限り立ち上げることが可能
- Docker Container は1つのコマンドをフォアグラウンドで動かすように設計されている
- Docker Containerは1つのコマンドを隔離された環境で実行し、そのコマンドの実行がフォアグラウンドで終了するまで生存する
ライフサイクル
Docker Container は5つの状態を遷移する
Image
- 指定したDocker Image からDocker Containerを起動する
- RUNNING
- Docker Containerが起動した状態
- Dockerfileの CMD もしくは ENTRYPOINT で指定したコマンドがフォアグラウンドで動いている間がRUNNINGの状態
docker run -P nginx
のようにnginxを起動した場合、nginxが起動してアクセスを待ち受けてる間はRUNNINGの状態
- STOPPED
- 起動したContainerが終了した状態
- 正常終了・異常終了、どのような形であっても終了したContainerはSTOPPEDへ遷移
- PAUSED
- Containerが停止した状態
- ユーザーが
docker pause <CONTAINER ID>
を実行すると、現在の状態を保持して一時停止 - docker unpause
で一時停止したコンテナIDを指定することで再開することが可能です。 - ユーザーが明示的に指定しない限りこの状態へは遷移しない
- DELETED
- Docker Container は明示的に削除を行わない限り停止した状態で残り続ける
docker rm <CONTAINER ID>
で明示的に削除するとDELETEDの状態へ遷移し、削除される