Docker

清理旧容器与部署新镜像的完整流程

既然你已经把最新的 tar 包传到了麒麟系统的下载目录里,接下来咱们就一气呵成,把旧的躯壳清理掉,换上最新的代码。由于咱们是平滑升级代码,需要严格按照停止容器、删除容器、删除旧镜像、加载新镜像、启动新容器的顺序来操作。

第一步:定位目录并停掉旧服务

打开麒麟虚拟机的 root 终端,看你的截图,文件是放在了图形界面的下载文件夹里。在中文版的麒麟系统下,这个目录通常对应的是 /root/下载。你需要先切换到这个工作区,执行 cd /root/下载 命令。

进去之后,先把正在后台运行的老后端服务停掉并彻底销毁,把占用的 backend-server 名字和 8000 端口给腾出来。你依次敲入 docker stop backend-server 和 docker rm backend-server 这两条指令执行即可。

第二步:彻底删除系统里的旧镜像

为了保持服务器环境的整洁,把旧镜像清理掉是个非常好的开发习惯。假设你之前跑的旧镜像标签是 1.0,你只需要执行 docker rmi procuratorate-backend:1.0 命令,就可以把它从虚拟机的 Docker 存储空间里抹除了。

如果在删除时提示被依赖或者你想顺手把之前那些没有标签的悬空废弃镜像一起打扫干净,直接敲一个 docker image prune -f 命令,系统就会自动帮你执行强制垃圾回收。

第三步:加载最新的镜像压缩包

现在 Docker 环境已经完全干净了。保持在当前目录下,执行 docker load -i 加上你的文件名,看截图大概率是 docker load -i procuratorate-backend.tar。如果在终端里手敲嫌长,打出 pro 几个字母后直接按一下键盘上的 Tab 键,系统会自动帮你补全完整的文件名。

等进度条跑完,终端打印出 Loaded image 的提示,新图纸就已经安稳地躺在麒麟系统里了。

第四步:拉起连接着本地数据库的新服务

最后一步就是用新镜像把服务跑起来。回顾一下你刚才在 Mac 上重新打包时打的标签,如果你听从了之前的报错提示,成功打出了 2.0 版本的镜像,那就直接执行下面这行命令:

docker run -d -p 8000:8000 –name backend-server procuratorate-backend:2.0

如果你重新打包时依然沿用的是 1.0 标签,只需要把上面命令结尾的 2.0 改回 1.0 敲下回车就行。看到一长串的容器 ID 吐出来,就说明带有最新数据库 IP 配置的后端代码已经成功上线。

现在你可以切回到 Mac 电脑,打开你习惯使用的 Edge 浏览器,输入虚拟机的 IP 地址去测试一下前端界面的登录和数据交互了。跑通全流程之后,如果还需要我教你怎么查阅容器内部的运行日志,随时告诉我。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇