需要通过 Nginx 来转发请求到不同的 docker 容器里,这个 Nginx 是单独跑成一个容器,还是直接在宿主机上安装?一直没有想明白这个问题。如果放在 docker 里面,改了 nginx.conf 文件后,要么重新 run 容器,要么进容器 reload config,感觉怪怪的呀。
1
ryd994 2017-08-19 23:07:33 +08:00 via Android
我是放外面跑的,因为 Nginx 一般安全性问题不大,而且要连接各个容器,可以算个 gateway
但是里面看情况也是要用的,一般用作 load balance 进容器 reload 没啥大问题啊,你可以 docker exec,也可以 kill -HUP |
2
Showfom 2017-08-19 23:09:58 +08:00 via iPhone
直接宿主机跑
|
3
moult 2017-08-19 23:46:25 +08:00
感觉 Docker 适合需要动态扩容的情况下用,可以快速创建一个新的节点。
单实例运行或者环境变动频繁的,稍微改一下配置就要经历开关机过程,有点麻烦。 |
4
yuanfnadi 2017-08-20 00:24:19 +08:00 via iPhone
我放容器里 用 daocloud。
配置文件放 git 然后每次更新配置文件,自动打包新的镜像,然后自动发布并且重启。 好处是换机器基本上可以一键切换。 |
5
yangxuan8282 2017-08-20 01:26:16 +08:00 via iPhone 3
可以参考下 https://github.com/jwilder/nginx-proxy
这个项目是用容器里的 nginx 反向代理其他容器,用到了作者的另一个项目 docker-gen,可以根据其它容器的 environment 自动生成 nginx 的配置文件,一旦有新的容器启动或停止就自动重新生成配置文件,这样就不需要你说的修改容器里的 nginx 配置文件,然后再重新 run 了 |
6
SgtDaJim 2017-08-20 02:51:12 +08:00
我是刚开始用 docker 的小白。。然后我 nginx 是放容器里面的。。然后配置目录用 docker run 的 -v 参数映射进容器。。修改配置的时候直接宿主机修改。。修改完了就 docker exec nginx-container "/usr/sbin/nginx -s reload"。。不知道这样合理不合理。。 求各位大神指教。。
|
7
brickyang 2017-08-20 08:14:14 +08:00 via iPhone
外面。Nginx 不需要配置环境,换机器也就是安装一下的事,放 Docker 没带来什么实际的好处。
|
9
powergx 2017-08-20 11:37:00 +08:00 via iPhone
-v 啊
|