记一次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
说说犯的错误
-
目录挂载错误,瞟了一眼以为就是nginx.conf,其实应该是default.conf,导致服务一直起不来
-
default.conf中只有服务规则相关的东西,没有其他的东西,我copy了一个完整的nginx.conf进去导致第二次服务也一直没起来,百度还收不到答案,淦
-