Назад | Перейти на главную страницу

Запуск двух приложений через порт 80 на VPS с помощью Docker

У меня есть VPS в Digital Ocean, и мне нужно запустить два отдельных приложения Django с помощью Docker. Если я запустил первое приложение, используя:

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).

Да, нужен обратный прокси. Привяжите оба контейнера Docker к разным портам (например, 8080 и 8081), а затем перенаправьте им порт 80 на основе имени хоста или каталога.

Конечно, ваш обратный прокси-сервер может быть еще одним докер-контейнером.