欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

docker运行nginx绑定配置文件失败原因以及问题解决

时间:2025-12-14 18:30:04|栏目:其它服务器|点击:

目录
  • 直接执行启动命令会失败
  • 解决思路及办法
  • 总结

直接执行启动命令会失败

pull镜像:

docker pull nginx

然后执行启动命令:

docker run -d -p 80:80 -p 443:443 --name nginx \

-v /mydata/nginx/html:/usr/share/nginx/html \

-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \

-v /mydata/nginx/logs:/var/log/nginx \

-v /mydata/nginx/cache:/var/cache/nginx \

--restart=always nginx

如果/mydata/nginx/conf/nginx.conf文件不存在,这里会出现docker报错,因为docker不允许绑定不存在的文件。

而直接新建一个空的/mydata/nginx/conf/nginx.conf虽然docker不会报错,但是nginx却无法在容器中正常启动,通过docker ps -a命令查看,nginx会处于exit或者一直restart状态,因为nginx的运行依赖于nginx.conf这个配置文件中的相关配置。

解决思路及办法

先运行一个容器,不使用-v绑定,然后将容器中的相关文件直接copy到指定位置,之后就可以删除容器,直接运行之前的启动命令了。

具体操作如下:

首先创建好相关文件夹:

mkdir -p \

/mydata/nginx/html \

/mydata/nginx/conf \

/mydata/nginx/logs \

/mydata/nginx/cache

跑起来一个nginx容器:

docker run -d --name nginx nginx

复制配置文件和文件夹到宿主机指定目录:

docker cp nginx:/etc/nginx/nginx.conf /mydata/nginx/conf/
docker cp nginx:/etc/nginx/conf.d /mydata/nginx/conf.d

删除原容器:

docker rm -f nginx

运行启动命令,-v绑定相关卷:

docker run -d -p 80:80 -p 443:443 --name nginx \

-v /mydata/nginx/html:/usr/share/nginx/html \

-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \

-v /mydata/nginx/logs:/var/log/nginx \

-v /mydata/nginx/cache:/var/cache/nginx \

--restart=always nginx

移动copy的conf.d目录中的文件到正确的位置:

 mv /mydata/nginx/conf.d/* /mydata/nginx/conf/conf.d/
 rm -rf /mydata/nginx/conf.d

这样nginx容器就可以正常运行,并且我们通过上面的操作将nginx.conf文件和conf.d目录都映射到了宿主主机上,以后需要修改nginx.conf文件或者为conf.d添加.conf文件都只需要在宿主机上的对应位置操作即可。

总结

上一篇:Docker快速部署主流脚本语言JavaScript的全过程

栏    目:其它服务器

下一篇:windows下Docker部署Flask的详细教程

本文标题:docker运行nginx绑定配置文件失败原因以及问题解决

本文地址:https://zz.feitang.co/server/30848.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号