我在 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 容器。