手摸手教学 - Docker(二) 超级爽!更新(update)容器镜像!

续上篇文章 ==>> 手摸手 - Docker(一) 超级爽!创建容器镜像!
继续手摸手教学,自己来感受~

作者变优秀的小白

Github关注YX-XiaoBai

爱好Americano More Ice !

QQ学习交流群(new): 811792998

更新我们的应用

当我们的应用需要改动时,比如,产品让我们修改没有items时的提示文案为You have no todo items yet! Add one above!

更新我们的源码

  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>

修改前后截图
在这里插入图片描述
2. 修改完成后,让我们重新构建镜像以更新版本

docker build -t getting-started .

在这里插入图片描述

  1. 最后让我们重新启动下新构建的容器

docker run -dp 3000:3000 getting-started

这时候你可能会看到下面这个报错。
在这里插入图片描述

到底发生了什么?因为我们启动新容器时旧容器依然占用端口运行!为了解决这个问题我们移除旧容器即可,见下文

替换我们旧容器

首先要移除一个容器,它需要先停止运行。一旦容器停止了,它就可以被移除。下面有两种方式去移除旧容器。

用cli移除容器
  1. 通过docker ps获取容器ContainerID

docker ps

在这里插入图片描述

  1. 使用docker stop停止容器

docker stop <the-container-id>
在这里插入图片描述
当然,你可以看有没有停止成功

在这里插入图片描述

  1. 只要Container停止成功,你就可通过docker rm移除容器

docker rm <the-container-id>
在这里插入图片描述

tips: 也有一种更快的方式通过forcedocker rm配合使用。如,docker rm -f <the-container-id>

用Dashboard移除容器

找到需要删除的容器,点击删除Icon即可

此时启动更新后的app容器

$ docker run -dp 3000:3000 getting-started
e0040ecfab6cb1fd0868f65b9e8dc277cf046ad0ec6e261536dd3cda5d6875af

刷新一下,http://localhost:3000你就可以看到更新的内容啦!

在这里插入图片描述

总结

当我们更新我们的应用时,你应该注意到了两件事

  • 所有我们添加的items都消失了
  • 一个小小的改动就要设计上面这么多步骤,在后面的文章我们会讲如何每次改动更新代码时不需要重新rebuildstart一个新容器

结束语:大家如果遇到什么疑问或者建议的,可直接留言评论!作者看到会马上一一回复!

如果觉得小白此文章不错或对你有所帮助,期待ni的一键三连💫!❤️ni!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值