Docker-2アプリケーションを更新し、それを[DevOps]MS公式文書と理解する



Microsoftが提供するDockerチュートリアルをまとめました.
原文の内容と似ていますが、個人学習や情報共有の観点からDockerに触れるのに非常に適したドキュメントです.

ソースコードの更新


  • アプリケーションの変更を要求する人がいるとします.
    まずソースコードを更新

  • 以前と同じコマンドを使用して、更新された画像バージョンを作成します.
    $ docker build -t getting-started .

  • 更新されたコードを使用して新しいコンテナを起動
    $ docker run -dp 3000:3000 getting-started
  • 次のエラーが発生しました.
    docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell 
    (bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind for 0.0.0.0:3000 failed: port is already allocated.
    古いコンテナがまだ稼働しているため、新しいコンテナを起動できません.これは、コンテナがホスト上の3000個のポートを使用し、コンテナを含む1つのプロセスのみが特定のポートを受信できるためです.
    この問題を解決するには、古いコンテナを削除する必要があります.

    前のコンテナを置換


    削除するには、コンテナを停止する必要があります.コンテナが停止した場合は、削除できます.
    $ docker ps // Container ID 확인
    $ docker stop <Container ID> // 컨테이너 중지
    $ docker rm <Container ID> // 컨테이너 삭제

    更新されたアプリケーションコンテナの起動

    $ docker run -dp 3000:3000 getting-started
    更新を表示するには、http://localhost:3000をリフレッシュします.

    サマリ

  • アプリケーションの状態とデータはすべて消えて、良いアプリケーション
  • とは言えません
  • わずかな変更でも「その他」ステップ
  • が必要です.

    Reference


    Dockerチュートリアル2