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
-
于是,神奇的一幕发生了,竟然真的启动起来了,于是乎,我就不再纠结为什么启动不起来了,特此记录,希望可以帮助到和我同样问题的.