У меня есть 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 на основе имени хоста или каталога.
Конечно, ваш обратный прокси-сервер может быть еще одним докер-контейнером.