更新應用程式

第二部分中,您容器化了一個待辦事項應用程式。在本部分中,您將更新應用程式和映象。您還將瞭解如何停止和刪除容器。

更新原始碼

在以下步驟中,您將更改沒有待辦事項專案時顯示的“空文字”,改為“您還沒有待辦事項!在上面新增一個!”

  1. src/static/js/app.js 檔案中,將第 56 行更新為使用新的空文字。

    - <p className="text-center">No items yet! Add one above!</p>
    + <p className="text-center">You have no todo items yet! Add one above!</p>
    
  2. 使用 docker build 命令構建更新後的映象版本。

    $ docker build -t getting-started .
    
  3. 使用更新後的程式碼啟動一個新容器。

    $ docker run -dp 127.0.0.1:3000:3000 getting-started
    

您可能看到了類似於這樣的錯誤

docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell 
(bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind for 127.0.0.1:3000 failed: port is already allocated.

該錯誤發生是因為您無法在舊容器仍在執行時啟動新容器。原因是舊容器已在使用主機埠 3000,並且機器上(包括容器)只有一個程序可以監聽特定埠。要解決此問題,您需要刪除舊容器。

刪除舊容器

要刪除容器,您首先需要停止它。停止後,您可以刪除它。您可以使用 CLI 或 Docker Desktop 的圖形介面刪除舊容器。選擇您最熟悉的方式。


使用 CLI 刪除容器

  1. 使用 docker ps 命令獲取容器的 ID。

    $ docker ps
    
  2. 使用 docker stop 命令停止容器。將 <the-container-id> 替換為 docker ps 中的 ID。

    $ docker stop <the-container-id>
    
  3. 容器停止後,可以使用 docker rm 命令刪除它。

    $ docker rm <the-container-id>
    

注意

您可以透過向 docker rm 命令新增 force 標誌來在一個命令中停止和刪除容器。例如:docker rm -f <the-container-id>

使用 Docker Desktop 刪除容器

  1. 開啟 Docker Desktop 到“容器”檢視。
  2. 在要刪除的容器的“操作”列下選擇垃圾桶圖示。
  3. 在確認對話方塊中,選擇“永久刪除”。

啟動更新的應用程式容器

  1. 現在,使用 docker run 命令啟動更新後的應用程式。

    $ docker run -dp 127.0.0.1:3000:3000 getting-started
    
  2. https://:3000上重新整理瀏覽器,您應該看到更新後的幫助文字。

總結

在本節中,您學習瞭如何更新和重建容器,以及如何停止和刪除容器。

相關資訊

下一步

接下來,您將學習如何與其他人共享映象。