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 上刷新浏览器,您应该会看到更新后的帮助文本!

文章目录