最近nginx爆出了一个漏洞,nginx应该是大家经常使用的高性能代理服务
- 漏洞描述:nginx 中间件通过堆栈溢出可以导致RCE
- 影响版本:<=1.21.6
- 漏洞详细:
那么今天以docker 升级nginx版本为例讲解一下如何更新升级docker运行的容器
在线版本
1. 搜索对应服务镜像的最新版本
去docker官网搜索nginx
Docker Hub
点击后可以看到最新镜像标签信息,同时对应这个
2. 下载对应最新镜像 【推荐下载的时候指定版本,这样后续运行可以直接看到运行版本】
docker pull nginx:1.23.1 [冒号后面的标签对应官网上提示的可以对应版本拉取的标签]
3. docker ps [查看运行中的容器状态] docker ps -a [查看所有存在容器状态]
可以看到容器的一些启动信息,但是如果镜像之前在运行的时候如果没有指定对应的镜像版本是看不到镜像信息,和目录挂载信息的,
4.输入history 查看服务器近期执行操作,
看下历史启动命令是否存在
如果存在那么拷过来 更改一下启动运行执行版本
重新启动容器前 停止原先容器 docker stop nginx【容器名称或者容器id】
如果原本有自启动的 那么需要先 docker rm nginx 【容器名称或者容器id】【停止或者删除前请确保已经通知线上运行服务发出运维公告】
示例:确保映射端口
docker run -p 8080:8080 --name nginx -v /home/nginx:/home/nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -d nginx:1.23.1
5. 如果history 查不到,docker inspect
那么执行 docker inspect nginx【容器名称】
查询运行中的容器的版本信息,端口映射,挂载等信息
自行重新 拼接运行脚本 后续执行步骤四的后续结果即可
版权归原作者 Weirdo_zhu 所有, 如有侵权,请联系我们删除。