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

2023-05-16

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

作者变优秀的小白

Github关注YX-XiaoBai

爱好Americano More Ice !

QQ学习交流群(new): 811792998

  • 本文 - github源码地址

更新我们的应用

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

更新我们的源码

  • 源码地址(Github)
  • 可参考上篇手摸手教学
  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!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐