入門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の状態へ遷移し、削除される