为了账号安全,请及时绑定邮箱和手机立即绑定

index.html文件内容与实际访问结果不同

https://img1.sycdn.imooc.com//5c0652070001130707470622.jpg

进入容器内部查看index.html文件已经改成“docker”了,为何访问还是显示“nginx”?https://img1.sycdn.imooc.com//5c0652600001d5c709200522.jpg

正在回答

2 回答

进入容器内部后,通过nginx -V命令,查到nginx.conf文件路径:

https://img1.sycdn.imooc.com//5c1a084200019a0014640272.jpg

通过vim /etc/nginx/nginx.conf命令查看该文件,发现http模块中并没有server模块,但是发现有一行:

https://img1.sycdn.imooc.com//5c1a09040001feb704800062.jpg

通过cd /etc/nginx/sites-enabled/命令查看:

https://img1.sycdn.imooc.com//5c1a093f0001daeb10460122.jpg

通过vim /etc/nginx/sites-available/default命令打开该文件,看到了server模块和默认页面读取的路径和文件:

https://img1.sycdn.imooc.com//5c1a09d30001d61a07990532.jpg

于是切换至/var/www/html目录:

https://img1.sycdn.imooc.com//5c1a0ae40001b36f08280103.jpg

发现默认页面读取的就是这个index.nginx-debian.html文件,打开:

https://img1.sycdn.imooc.com//5c1a0ba200017bc406980510.jpg

而我的Dockerfile是这么写的:

https://img1.sycdn.imooc.com//5c1a0bd70001677406530177.jpg

COPY index.html /usr/share/nginx/html(此处想当然了,然而经过上述分析,默认页面读取的html文件根本不是/usr/share/nginx/html目录下的index.html!)

因此在Dockerfile文件中应该写COPY index.html /var/www/html,也就是和老师视频中所写的一样,我之所以会写COPY index.html /usr/share/nginx/html,是因为老师提到这个目录因人而异,因此我通过find / -name "index.html"命令找到了/usr/share/nginx/html/index.html,想当然的改动了这个文件,而nginx根本不读取它。

1 回复 有任何疑惑可以回复我~
#1

帝国大学

sudo docker run -v /usr/share/nginx/html -d nginx
2021-05-01 回复 有任何疑惑可以回复我~

应该是文件路径不对了,根本没有访问到你改的文件。

0 回复 有任何疑惑可以回复我~
#1

天上小月牙 提问者

谢谢,问题解决了,稍后我贴下原因
2018-12-19 回复 有任何疑惑可以回复我~
#2

try3994680 回复 天上小月牙 提问者

只是看看
2019-04-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

index.html文件内容与实际访问结果不同

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信