我正在研究如何以最佳方式设置我的生产服务器,但我对如何正确设置有点困惑:
目前,我的所有网络应用程序都是docker化,我有:
- 一个 nginx 前端容器,将请求路由到多个后端容器:
- 一个 Symfony 应用程序
- 两个 WordPress 博客
- 一个 NodeJS 应用
- 一个用于数据库存储的 MySql 容器
- 还有一个 MongoDB 容器
所有此基础设施都是使用 docker-compose 启动的。
这工作正常,但对我来说听起来太“单一化”:
- 我无法在不重新启动所有其他容器的情况下停止一个容器。
- 如果不重新启动所有内容,我就无法添加其他 Web 应用程序
- 我无法在崩溃后自动重新启动容器...
这是我第一次这样做,你知道一些可以帮助我改进生产服务器的最佳实践或软件吗?
非常感谢!
最佳答案
I cannot stop one container without restarting all the others.
当您只想停止一个容器时,是什么阻止您使用 docker stop
命令而不是 docker-compose stop
命令?
I cannot add other web applications without restarting everything
我建议使用优秀的 jwilder/nginx-proxy nginx docker 镜像充当其他容器前面的反向代理。该反向代理将适应正在运行/已停止的容器。您可以稍后添加容器,此反向代理将根据域名自动将流量路由到该容器。
I have no way to restart container automatically after a crash...
看看restart:
docker-compose.yml 文件的指令。
关于nginx - Docker 和小型生产服务器基础设施建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31518888/