nginx 装进 docker 的方案

查看 190|回复 13
作者:NeverBelieveMe   
nginx 装进 docker 之后,前端项目或者静态文件的配置遇到了问题。
以前的静态项目配置就是配置一下域名和项目文件夹路径。但是现在 nginx 装进了 docker 中,就无法访问到宿主机的路径了。这种情况下,就必须把静态项目的路径挂载的 nginx 的 docker 中。
感觉这种方式很不方便,每次都要修改 compose 的配置,然后重新启动 docker 。
如果不挂载的话,前端项目也要写个 dockerfile 去构造个镜像,就很麻烦。特别是一些非常小的项目。
想知道大佬们都是怎么解决这个问题的。前提是 nginx 必须装在 docker 中。

Docker, Nginx, 静态, 项目

Aliencn   
特别小的项目就把静态文件一起都打到 docker 里就行了
zhhbstudio   
以我的经验,打包好的项目和 nginx 应该在一个容器里
MuXia   
将 docker 启动的 nginx 项目存储 html 文件的路径挂载出来,然后每次修改宿主机上对应的挂载目录的内容,然后重启 nginx 容器即可
wangxin13g   
开发环境前端直接 node 跑,本地跑个 nginx 转发下开发域名到对应端口就完事
发布的话前端写个 dockerfile ,用 nginx 当基础镜像,前端 build 之后把对应的编译结果和 nginx 文件 cp 到镜像里然后 run 就完事了
me1onsoda   
不理解,路径挂载的方式,为什么每次要修改 compose
ysc3839   
都放到一个目录下即可。我的方案是用 Alpine Linux 的 nginx ,Docker 里面挂载/etc/nginx/nginx.conf /etc/nginx/conf /www ,静态页面放/www 里面
leokun   
每个项目都有自己的 nginx ,就在那个项目里面维护一个 dockerfile
itlaohui   
要么把静态文件在 Dockerfile 里就打包进去,要么就在 docker-compose.yml 中里填写宿主机路径映射。
除了这两种方式,没有别的方法了,嫌每次都要重启的话,那就要看你映射的目录范围,如果映射 html 那个目录的话,那么就可以动态添加更多的网站,docker exec nginx nginx -s reload 就可以不停服务完成更新
m2276699   
我也不理解,为什么每次要修改 compose ?挂载配置目录和 www 目录,只更新目录的文件不就 OK 了吗?多个项目分文件夹也是可以的
您需要登录后才可以回帖 登录 | 立即注册

返回顶部