Docker 5 更新应用
更新应用程序
作为一个小功能请求,当我们没有任何待办事项列表项时,产品团队要求我们更改“空文本”。 他们希望将其转换为以下内容:
您还没有待办事项! 上面加一个!
很简单,对吧? 让我们做出改变。
更新源代码
1 In the src/static/js/app.js file, update line 56 to use the new empty text.
- <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 Let’s build our updated version of the image, using the same command we used before.
docker build -t getting-started .
3 Let’s start a new container using the updated code.
docker run -dp 3000:3000 getting-started
Uh oh! You probably saw an error like this (the IDs will be different):
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,并且机器上只有一个进程(包括容器)可以侦听特定端口。 为了解决这个问题,我们需要移除旧容器。
更换旧容器
要移除容器,首先需要停止它。 一旦它停止,它可以被移除。 我们有两种方法可以删除旧容器。 随意选择您最满意的路径。
Remove a container using the CLI
1 Get the ID of the container by using the docker ps command.
docker ps
2 Use the docker stop command to stop the container.
Swap out < the-container-id> with the ID from docker ps
docker stop <the-container-id>
3 Once the container has stopped, you can remove it by using the docker rm command.
docker rm <the-container-id>
提示:
You can stop and remove a container in a single command by adding the “force” flag to the docker rm command. For example:
docker rm -f <the-container-id>
Remove a container using the Docker Dashboard
如果您打开 Docker 仪表板,您只需单击两次即可删除容器! 这肯定比查找容器 ID 并删除它要容易得多。
打开仪表板后,将鼠标悬停在应用程序容器上,您会看到右侧出现一组操作按钮。
单击垃圾桶图标以删除容器。
确认删除,你就完成了!
启动更新的应用程序容器
现在,启动更新的应用程序。
docker run -dp 3000:3000 getting-started
在 http://localhost:3000 上刷新浏览器,您应该会看到更新后的帮助文本!