续上篇文章 ==>> 手摸手 - Docker(一) 超级爽!创建容器镜像!
继续手摸手教学,自己来感受~
作者:变优秀的小白
Github:关注YX-XiaoBai
爱好:Americano More Ice !
QQ学习交流群(new): 811792998
更新我们的应用
当我们的应用需要改动时,比如,产品让我们修改没有items时的提示文案为You have no todo items yet! Add one above!
更新我们的源码
- 在
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 .
- 最后让我们重新启动下新构建的容器
docker run -dp 3000:3000 getting-started
这时候你可能会看到下面这个报错。
到底发生了什么?因为我们启动新容器时旧容器依然占用端口运行!为了解决这个问题我们移除旧容器即可,见下文
替换我们旧容器
首先要移除一个容器,它需要先停止运行。一旦容器停止了,它就可以被移除。下面有两种方式去移除旧容器。
用cli移除容器
- 通过
docker ps
获取容器Container
的ID
docker ps
- 使用
docker stop
停止容器
docker stop <the-container-id>
当然,你可以看有没有停止成功
- 只要
Container
停止成功,你就可通过docker rm
移除容器
docker rm <the-container-id>
tips: 也有一种更快的方式通过
force
和docker rm
配合使用。如,docker rm -f <the-container-id>
用Dashboard移除容器
找到需要删除的容器,点击删除Icon即可
此时启动更新后的app容器
$ docker run -dp 3000:3000 getting-started
e0040ecfab6cb1fd0868f65b9e8dc277cf046ad0ec6e261536dd3cda5d6875af
刷新一下,http://localhost:3000
你就可以看到更新的内容啦!
总结
当我们更新我们的应用时,你应该注意到了两件事
- 所有我们添加的
items
都消失了 - 一个小小的改动就要设计上面这么多步骤,在后面的文章我们会讲如何每次改动更新代码时不需要重新
rebuild
和start
一个新容器
结束语:大家如果遇到什么疑问或者建议的,可直接留言评论!作者看到会马上一一回复!