Как можно использовать одни порты для Nginx и Docker?
У меня на сервере запущены несколько сайтов без докера через nginx, текущий проект пытаюсь загрузить с помощью докера и при сборке получаю ошибку "0.0.0.0:80: bind: address already in use". Порты 443 и 80 заняты nginx, отключить nginx не могу. Изменение записи в docker-compose.yml таким образом - ports: 800:80 решает эту проблему, но тогда доступ на сайт идет не по домену, а domain.com:800. Перерыл интернет, у всех все заканчивается отрубанием nginx, надеюсь у кого нибудь есть идеи.
Настройте nginx, чтобы он слушал не все интерфейсы, а только внешний на сервере. Docker имеет свою подсеть, он не доберется до 80 порта на внешнем интерфейсе.
Если доберется-запретите ему и проксируйте запросы в докер через nginx
Через proxy_pass в nginx пробросить на нужный порт внутри контейнера, таким образом, заодно можно переложить на nginx и прочую работу - по логгированию, получению сертификатов и т.п., не реализуя это отдельно внутри контейнера.