更新應用程式
目錄
在第 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,你應該能看到更新後的幫助文字。
摘要
在本節中,你學習瞭如何更新和重建映象,以及如何停止和移除容器。
相關資訊
後續步驟
接下來,你將學習如何與他人共享映象。
共享應用程式