docker安装nginx碰见的问题记录
- 错误描述
mounting "/usr/local/nginx.conf" to rootfs at "/etc/nginx/nginx.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)?
-
查看网上很多文章,有说权限问题,有说将html,logs等映射出来,都没有解决
-
后,仔细查看报错信息,说的不是个文件,虽然我启动redis,同样是挂载出文件,但是nginx就不行,在尝试了所有网上方法都没有解决的情况下,突然灵机一动,如果我将docker容器中/etc/nginx整体挂载出来呢?于是乎:
- 先不带参数启动docker
docker run -d -p 80:80 --name my-nginx nginx- 然后将文件拷贝出来
docker cp my-nginx:/etc/nginx /etc/nginx- 然后停止docker
docker stop my-nginx- 然后删除容器
docker rm my-nginx- 然后启动docker,挂载文件
docker run -d -p 80:80 --name my-nginx -v /etc/nginx:/etc/nginx nginx -
于是,神奇的一幕发生了,竟然真的启动起来了,于是乎,我就不再纠结为什么启动不起来了,特此记录,希望可以帮助到和我同样问题的.

本文记录了在Docker环境下安装Nginx时遇到的错误:无法正确挂载配置文件。通过直接挂载整个Nginx配置目录的方式解决了问题。
2万+

被折叠的 条评论
为什么被折叠?



