K8S & Docker 在线换包操作指南
K8S & Docker 在线换包操作指南
在生产环境中,我们时常需要更新正在运行的 Docker 容器镜像。本文将详细介绍如何通过加载新镜像、备份旧镜像、推送新镜像到 Docker Registry,并更新 Kubernetes 部署来实现服务更新。以下是具体的操作步骤和命令。
操作步骤
0. 上传新镜像到本机
首先,将新的 Docker 镜像文件上传到操作机器。
1 |
|
1. Docker 加载新镜像
从镜像文件中加载 Docker 镜像。
1 |
|
2. 查看 Docker 相关镜像
列出所有本地 Docker 镜像,并通过 grep
过滤出相关镜像。
1 |
|
3. 给老镜像打标签
备份当前正在使用的老镜像,给它打上一个新标签。
注意:192.169.54.103:5000/transwarp/flashsync-server-old:studio-3.3.0-arm64
就是 pods 直接引用的镜像,我们的目的是给新镜像换成这个名称,这样后面 pods 重启拉取镜像就会拉到新的镜像。
1 |
|
4. 删除老镜像的标签
删除老镜像的原始标签,但不删除镜像本身。
1 |
|
再次列出所有相关镜像,确认标签变更。
1 |
|
5. 给新镜像打标签
将新上传的镜像打上符合容器拉取要求的标签。
1 |
|
6. 推送新镜像到 Docker Registry
将打了标签的新镜像推送到指定的 Docker Registry。
1 |
|
7. 在 K8S 中找到目标容器
使用 kubectl
命令找到需要更新的容器。
1 |
|
8. 删除需要更新包的容器
删除目标容器,Kubernetes 会自动重新创建一个新的 Pod,并使用最新推送的镜像。
1 |
|
K8S & Docker 在线换包操作指南
https://hexo.leelurker.com/posts/37109