在linux系统下,docker中pull下来nginx之后,因为前一天晚上执行了一下文件,启动nginx容器,运行nginx镜像,执行代码如下:
sudo docker run -p 80:80 --restart always --name nginx \ -v /usr/local/docker/nginx/:/etc/nginx/ \ -v /usr/local/docker/nginx/conf.d:/etc/nginx/conf.d \ -d nginx
讯享网
当时第二天早上过来之后,忘记了昨晚已经执行过这个操作了,又重新执行了一次,导致docker里面nginx里面有嵌套了一个conf文件,“双层套娃”

讯享网当时运行后的报错显示如下:
Linux后台中检查映射端口发现端口不能正常映射,防火墙也正常关闭了,即配置文件有问题

然后删除过程中发现一直删不掉,原来是服务没有停止,容器没有关闭,每次从目录中直接删除之后都会自动再被创建错误的文件路径,这样永远都在错误中循环,发现问题后,正确的处理步骤是先停掉服务,然后关闭docker里面的nginx容器,再去删除目录下面的nginx文件,包括里面的conf文件也就一起删除了,这才是正确的删除方法,停止这种"无限套娃"的游戏,操作截图如下:
这样一番操作后才能正常删除掉这个文件,删除完了之后再检查一下是否有残留:
讯享网docker ps -a
检查确认没有原来残存文件后,再重新创建容器:
然后重新启动容器:

docker run --name nginx -d nginx
重新拷贝安装好的配置文件
讯享网docker cp -a nginx:/etc/nginx /usr/local/docker/nginx
复制完了配置文件之后,强制卸载掉刚刚安装好的nginx
docker rm -f nginx
docker 中强制删除nginx 这里的f是force强制删除
最后一步:启动nginx容器,运行nginx镜像
讯享网sudo docker run -p 80:80 --restart always --name nginx \ -v /usr/local/docker/nginx/:/etc/nginx/ \ -v /usr/local/docker/nginx/conf.d:/etc/nginx/conf.d \ -d nginx
访问成功后的截图如下:

在linux里面内置的浏览器也可以成功打开,打开后截图如下:

总结一下:
这里出现的问题,首先第一点是启动运行镜像方法错误,造成了"nginx"嵌套
第二点:删除文件没有找到正确的方法:先停服务,再关容器,最后彻底删除nginx错误的cofi文件(直接删除nginx目录一步到位)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/125919.html