nginx - Docker 和小型生产服务器基础设施建议

标签 nginx automation docker server docker-compose

我正在研究如何以最佳方式设置我的生产服务器,但我对如何正确设置有点困惑:

目前,我的所有网络应用程序都是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/

相关文章:

asp.net - ASP .NET Core - Linux nginx ASPNETCORE_ENVIROMENT 错误

python - 将 pyautogui 与多个显示器一起使用

.net - 以编程方式从 Word 2007 文档中提取宏 (VBA) 代码

docker - docker 缓存不工作

logging - Nginx:记录到系统日志

nginx - Munin:nginx 请求的 y 轴上的 'm' 是什么意思?

sockets - Nginx 和 Flask-socketio Websockets : Alive but not Messaging?

java - Selenium 2.0网络驱动程序: Element is no longer attached to the DOM error using Java

python - Docker - 连接到 Jupyter notebook

docker - 如何从主机获取 Docker 容器的 IP 地址