docker对nginx.conf进行修改后页面无变化或页面报错

可能是因为没有重启nginx容器

可以执行

docker restart nginx

重启nginx试试

引入了其他的配置文件

本人安装的是docker默认的nginx,自带了一个default.conf的配置文件,并且在nginx.conf中还引入了这个文件,后面我还对nginx.conf添加了一个server并且端口号都是80,在打印docker logs nginx时发现警告(80端口冲突:nginx: warn conflicting server name "localhost" on 0.0.0.0:80, ignored)

可以把引入文件哪一行注释起来(下面那一行,前面加个#就可以注释)

include /etc/nginx/conf.d/*.conf;

再尝试重新启动

目录结构错误

由于docker安装镜像是单独的文件系统,即使你挂载了数据卷(数据卷只是同步数据的作用),路径也是相对于docker那个文件系统的,我把一个html目录放到了/路径下,并且nginx.conf中的location是这样写的

bash 复制代码
    location / {
        root  /www/www;
        index  index.html index.htm;
    }

这样就导致nginx不能在自己的目录下找到对应的路径(因为我这个路径是基于Liunx的嘛)

可以将自己的html目录放到数据卷的html目录下

bash 复制代码
mv 外部的html路径 数据卷挂载的html路径

# 例如我就是执行了下面的指令
# mv /www /root/nginx/html

然后再将nginx.conf的location改成这样

bash 复制代码
	location / {
		root  /usr/share/nginx/html/www/www;
		index  index.html index.htm;
   	 }

/usr/share/nginx/html是docker中nginx的目录,这个目录可以执行

bash 复制代码
docker exec -it nginx容器名 bash

find -name html

找到

使用了其他端口

因为执行docker run 指令时-p只映射了80:80端口,所以其他端口无法访问到,docker似乎不能后添加端口映射,只能删除容器后(需要先停止容器)重新docker run创建容器,再创建容器的时候多指定一个-p参数(不会安装的可以看这个Docker安装Nginx​​​​​​​)

相关推荐
郭老二2 小时前
【docker】使用阿里云的容器镜像服务(ACR)构建自己的容器仓库
阿里云·docker·容器
Wang's Blog5 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
AIGC大时代6 小时前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent
灯澜忆梦7 小时前
【docker】#2 | 基础命令
docker·容器·eureka
程序员老赵9 小时前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
sbjdhjd10 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
Pocker_Spades_A12 小时前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
Lvan的前端笔记21 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
姜鱼问生21 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存