更新项目源码
假如要在代办事项项目中将下图位置的内容换成:“你还没有待办事项!在上面加一个!”
-
在
src/static/js/app.js
文件中,更新第 56 行代码:<p className="text-center">你还没有待办事项!在上面加一个!</p>
-
让我们使用我们之前使用的相同命令来构建我们更新版本的图像。
docker build -t getting-started .
-
让我们使用更新后的代码启动一个新容器。
docker run -dp 3000:3000 getting-started
可能会看到这样的错误(ID 会有所不同):
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,并且机器上只有一个进程(包括容器)可以监听特定端口。为了解决这个问题,我们需要移除旧容器。
更换我们的旧容器
要移除一个容器,首先需要停止它。一旦停止,就可以将其移除。我们有两种方法可以移除旧容器。
使用 CLI 删除容器
-
docker ps
使用命令获取容器的 ID 。docker ps
-
使用
docker stop
命令停止容器。docker stop <the-container-id>
-
容器停止后,可以使用
docker rm
命令将其删除。docker rm <the-container-id>
也可以通过在命令中添加“force”,标志在单个命令中停止和删除容器。
docker rm -f 容器ID
使用 Docker 仪表板删除容器
如果你打开 Docker 仪表板,你可以通过两次点击来移除一个容器!这肯定比查找容器 ID 并删除它要容易得多。
- 打开仪表板后,将鼠标悬停在应用容器上,可以看到一组操作按钮出现在右侧。
- 单击垃圾桶图标以删除容器。
- 确认删除,就完成了!
启动我们更新的应用容器
-
现在,启动更新的应用程序。
docker run -dp 3000:3000 getting-started
-
在http://localhost:3000上刷新浏览器