记一次Docker搭建Nginx经历(变化)

记一次Docker搭建Nginx经历

直接下载默认版本

  • dockers pull nginx

创建相应挂载目录

  • mkdir -p ninja_run/nginx/{conf,logs}

    • 因为我不做静态代理,所以没有挂载其他文件夹,只挂载了日志和配置文件,如果要做静态代理,还需要挂载一个文件夹来存放静态资源,如果大家有需求,可参考以下

      mkdir -p ninja_run/nginx/html

      在创建容器的命令中,加一个目录挂载即可:

      • -v /ninja_run/nginx/html:/usr/share/nginx/html

  • 创建在conf目录下创建 nginx.conf文件以备与容器内部default.conf挂载

    server {
            listen       80;
            server_name  localhost;
            location / {
                    root   /usr/share/nginx/html;
                    index  index.html index.htm;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                    root   html;
            }
    }
    • 这个是我们拷贝出来的最精简的配置初始化挂载时可以使用

创建容器这里需要注意一下

docker run --name nginx -p 80:80 --privileged=true

-v /ninja_run/nginx/conf/nginx.conf:/etc/nginx/conf.d/default.conf

-v /ninja_run/nginx/logs:/var/log/nginx -d nginx

以上代码折成因为分析格式化了,如若要copy,清格式化为一行,下面说说注意的地方

  • 以上我们挂载了两个目录,分别是default.conf和日志目录

  • 在这次下载的Nginx镜像中,发现文件结构好像发生了变化

  • cd /etc/nginx/conf.d/

  • 发现仅有的配置文件 :default.conf

说说犯的错误

  1. 目录挂载错误,瞟了一眼以为就是nginx.conf,其实应该是default.conf,导致服务一直起不来

  2. default.conf中只有服务规则相关的东西,没有其他的东西,我copy了一个完整的nginx.conf进去导致第二次服务也一直没起来,百度还收不到答案,淦

  3. 多看日志,多看日志

原文地址:https://www.cnblogs.com/msi-chen/p/13138753.html