前言

前一段时间,客户要求修复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
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐