docker部署的项目,离线和在线两种方式升级镜像--以nginx为例
前一段时间,客户要求修复nginx漏洞。通过升级nginx的方式可以解决。之前的操作中遗漏了容器中nginx,导致现阶段服务器已经被禁用访问网络了。抓紧补救,现采取离线方式升级nginx。
前言
前一段时间,客户要求修复nginx漏洞。通过升级nginx的方式可以解决。
之前的操作中遗漏了容器中nginx,导致现阶段服务器已经被禁用访问网络了。
抓紧补救,现采取离线方式升级nginx
正文
一、离线升级
1.验证版本:
升级前,进入容器验证 Nginx 版本:
docker exec -it 容器名称 sh
nginx -v
2.拉取所需的镜像
在有网络的机器上,使用 docker pull 命令拉取所需的镜像。例如,想拉取最新的 nginx:stable-alpine 镜像,运行以下命令:
docker pull nginx:stable-alpine
3.保存镜像为 .tar 文件
使用 docker save 命令将镜像保存为一个 .tar 文件。例如:
docker save nginx:stable-alpine > nginx-stable-alpine.tar
这会在当前目录下生成一个名为 nginx-stable-alpine.tar 的文件。这个文件包含了镜像的所有数据,可以用于离线环境中加载。
4.将 .tar 文件拷贝到离线服务器
在离线服务器上,将 .tar 文件从存储设备拷贝到服务器的某个目录中
5.在离线环境中加载镜像
在离线服务器上,使用 docker load 命令加载 .tar 文件中的镜像:
docker load < /路径/nginx-stable-alpine.tar
6.使用加载的镜像启动容器
现在,你可以在离线环境中使用加载的镜像启动容器。例如,如果你使用的是 docker-compose,确保 docker-compose.yml 文件中指定了正确的镜像版本
在包含 docker-compose.yml 文件的目录下,运行以下命令启动服务:
docker-compose up -d
- -d 参数表示在后台启动服务。
7.验证nginx镜像版本
这里可以参考步骤1,确认镜像是否更新到了需要的版本
二、在线升级
若在有网络的机器上,想要升级nginx镜像
1.拉取所需的镜像
拉取最新的 nginx:stable-alpine 镜像,运行以下命令:
docker pull nginx:stable-alpine
2.使用加载的镜像启动容器
如果你使用的是 docker-compose,确保 docker-compose.yml 文件中指定了正确的镜像版本
在包含 docker-compose.yml 文件的目录下,运行以下命令启动服务:
docker-compose up -d
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)