更新應用程式
目錄
在第 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>使用
docker build指令來建置您更新後的映像檔版本。$ docker build -t getting-started .使用更新後的程式碼啟動一個新容器。
$ 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 移除容器
使用
docker ps指令取得容器 ID。$ docker ps使用
docker stop指令停止容器。將<the-container-id>替換為從docker ps取得的 ID。$ docker stop <the-container-id>一旦容器停止,您可以使用
docker rm指令將其移除。$ docker rm <the-container-id>
注意您可以透過在
docker rm指令中加入force旗標,在單一指令中停止並移除容器。例如:docker rm -f <the-container-id>
使用 Docker Desktop 移除容器
- 開啟 Docker Desktop 並切換至容器 (Containers) 視圖。
- 在您想要刪除的容器之動作 (Actions) 欄位下,選取垃圾桶圖示。
- 在確認對話框中,選取永久刪除 (Delete forever)。
啟動更新後的應用程式容器
現在,使用
docker run指令啟動您更新後的應用程式。$ docker run -dp 127.0.0.1:3000:3000 getting-started重新整理您的瀏覽器至 https://:3000,您應該會看到更新後的說明文字。
總結
在本節中,您學習了如何更新和重建映像檔,以及如何停止並移除容器。
相關資訊
下一步
接下來,您將學習如何與他人分享映像檔。
分享應用程式