docker安装nginx(神坑记录)

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

你可能感兴趣的:(运维,Nginx,nginx,docker,运维)