docker nginx 采坑记录

一、无法访问nginx

  1. 发现无法访问,先修改配置文件,进入容器whereis nginx查看nginx文件位置,如下图
    在这里插入图片描述
    /usr/sbin/nginx:nginx的执行文件
    /etc/nginx:内含配置文件(nginx.conf以及conf.d内的default.conf伏笔
    /usr/share/nginx:静态资源html文件夹
    /var/log/nginx:日志文件夹
  2. 多次修改nginx.conf文件也不生效,后来才发现文件末尾有一句include /etc/nginx/conf.d/*.conf;,因此端口需要在conf.d内的default.conf文件修改。
    参考:https://blog.csdn.net/u013092227/article/details/107765991
  3. 在查找解决办法的期间,还了解了docker四种网络类型中的bridge类型。
    参考1:https://www.cnblogs.com/wangxu01/articles/11316447.html#top
    参考2:https://blog.csdn.net/qq397750142/article/details/105588839
    1)可以使用docker inspect 容器id查看容器信息,在Networks:{}中可以看到该容器的网络类型为"bridge",如图:在这里插入图片描述
    其中可以看到为所有容器分配的网关为172.17.0.1,该容器的ip为172.17.0.3
    2)查看宿主机与容器的规则
    iptables -L -n,如图:
    在这里插入图片描述
    有两条指向容器的规则:一个是从宿主机(0.0.0.0)访问到容器1(172.17.0.2:3306),另一个是从宿主机(0.0.0.0)访问到容器2(172.17.0.3:8080)

猜你喜欢

转载自blog.csdn.net/weixin_41474364/article/details/121427352