docker安装nginx太多坑了,果断放弃

以下是我本人的个人看法,如有不对可在评论区讨论交流
1、 listen的端口受限于docker -p的参数,一个nginx容器conf文件只能listen同一个端口
2、 修改配置文件麻烦,还有docker exec进入到容器内部进行操作(当然,-v可以进行挂载)
3、 针对于第2点一般需要挂载多个资源(当然了,进行挂载之前要先进行docker cp命令,将容器内的文件拷贝到宿主机中,麻烦,然后再挂载到容器,方便同步修改)

docker run  --name nginx -m 200m -p 80:80 \
-v /docker-work/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker-work/nginx/logs:/var/log/nginx \
-v /docker-work/nginx/html:/usr/share/nginx/html \
-v /docker-work/nginx/conf:/etc/nginx/conf.d \
-e TZ=Asia/Shanghai \
--privileged=true -d nginx
参数说明
-name  给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器
-p     映射端口,将docker宿主机的80端口和容器的80端口进行绑定
-v    挂载文件用的,
-m 200m 分配内存空间
-e TZ=Asia/Shanghai  设置时区
第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,
第二个-v 表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面
第三个-v 表示的和第一个-v意思一样的。
-d 表示启动的是哪个镜像

4、我无论如何修改nginx.conf文件都无效(我只使用docker restart进行重启),鄙人比较菜半天找不到原因,容器内部的conf文件也是同步更改了的,使用nginx -t检查语法也都是ok的。
随后本人弃用docker安装nginx,直接在linux环境安装nginx.tar包,十分钟即可生效
附上nginx安装教程:link

猜你喜欢

转载自blog.csdn.net/lzq2357639195/article/details/129927361