使用 Docker 在 VPS 的 80 端口上运行两个应用程序

使用 Docker 在 VPS 的 80 端口上运行两个应用程序

我在 Digital Ocean 上有 VPS,我需要使用 Docker 运行两个单独的 Django 应用程序。如果我使用以下命令运行第一个应用程序:

docker compose up -d一切都很好,但是当我运行第二个应用程序时,我得到:

错误:对于 nginx,无法启动服务 nginx:驱动程序无法在端点 cockieynginx1 上编程外部连接(9830ef0c07ed965372d02af22b9263697b6e14822ce4b6717403b78ba68a4e89):绑定 0.0.0.0:80 失败:端口已分配

我的主机系统是 Ubuntu 16.04。我是否应该在主机系统上设置带有反向代理的 nginx?如何将其与我的 Docker 应用程序“连接”?

两个应用程序均使用此 Docker 设置:https://github.com/pydanny/cookiecutter-django/tree/master/%7B%7Bcookiecutter.project_slug%7D%7D(参见docker-compose.yml和compose文件夹)。

答案1

是的,您需要一个反向代理。将两个 Docker 容器绑定到不同的端口(例如 8080 和 8081),然后根据主机名或目录将端口 80 转发给它们。

当然,您的反向代理可以是另一个 Docker 容器。

相关内容