内网docker内nginx升级记录

本文讲述了在单位安全需求下,如何在内网环境下升级部署Nginx,包括从外网设备打包镜像,处理docker-compose依赖关系,以及正确使用dockerrun命令启动并解决冲突的过程。
摘要由CSDN通过智能技术生成

因为单位安全要求,以前合作厂商部署的项目的docker内nginx需要升级(内网环境),平时主要负责开发,很少接触运维,因此记录下相关过程:

1.在能连外网的设备上打包nginx镜像:

1)docker pull nginx(下载 默认nginx:latest) 

2)docker run --name nginx -p 9001:80 -d nginx(测试运行)

3)docker stop nginx、 docker save nginx -o nginx.tar、chmod 777 nginx.tar (打包,赋权) 

2.将nginx.tar拷入内网设备

docker load -i nginx.tar

3.因为当时厂商用docker compose安装的service,各service间都有依赖关系,写在docker-compose.yaml文件中,所以docker stop nginx之后 再用docker-compose -f docker-compose up -d --no-recreate nginx:latest会因为依赖关系优先创建其他service的容器,而因为其他service的容器还在运行,导致容器名/端口冲突,无法正常启动nginx。

解决方法为还是用docker run 启动nginx 根据yaml中nginx的各项配置添加参数,如:

docker run {--add-host (对应yaml中extra_hosts配置)} -p (yaml中port) --name (自定义新容器名称)  {--network (对应yaml中networks,需要找到network名)} -v (yaml中volumes 写绝对路径) -d nginx:latest 

查看状态 docker ps -a ,为up即启动成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值