docker挂载nginx出错
1.报错如下
2.错误原因
报错原因很奇怪,在docker hub官网上查询了一下发现以下有用的信息:
官网这段话的大概意思就是,要给nginx挂载卷,要先有一个配置文件才能挂载,具体做法就是先以不挂载卷的形式正常启动一个nginx容器,然后从中cp拷贝一份配置文件,删除这个容器,再重新以挂载卷的形式启动一个新容器。
1.先把之前的nginx容器删除,再启动一个不需要配置文件的nginx
docker run -d -p 80:80 --name nginx-test nginx
2.在Linux中使用curl localhost查看是否正常启动服务,也可以在浏览器上输入服务器或虚拟机ip地址查看,不过端口一定要查看是否暴露了。
3.把容器内的配置文件拷贝一份到本机上,使用docker cp命令
4.把启动的容器停止并删除
5.使用挂载命令再次启动容器
docker run -d -p 80:80 -v /home/nginx/conf:/etc/nginx -v /home/nginx/html:/usr/share/nginx/html --name nginx01 nginx
6.如继续报错403,是为/home/nginx/html目录下是空的,所以才会出现403,因为此时me/nginx/html对应的是容器中的/usr/share/nginx/html目录,可以进到容器中查看目录,如果为空,自然访问80端口服务不会有任何东西了。这个时候只需要在本地主机目录的/home/nginx/html目录下放上一个index.html就行了(使用exit命令退出容器)。
7.再次访问80端口即可解决。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)