У меня есть docker-compose, который создает контейнер с http-сервером, который не обрабатывается обратным прокси-сервером jwilder nginx, но он работает, создаваемый вручную.
version: '2'
services:
mongo:
image: tutum/mongodb
expose:
- "27017"
environment:
- AUTH=no
backend:
build:
context: "./instance"
hostname: instance
ports:
- "1080:8080"
expose:
- "8080"
links:
- mongo
frontend:
build:
context: "./instancegui"
ports:
- "80"
environment:
- VIRTUAL_HOST=some.host.com
- LETSENCRYPT_HOST=some.host.com
- LETSENCRYPT_EMAIL=someone@somewhere.com
файл конфигурации, сгенерированный обратным прокси, говорит, что восходящий поток {... DOWN}
но контейнер работает нормально, когда создается такой экземпляр
docker run --name group_frontend_1 -p 80 -e "VIRTUAL_HOST=some.host.com" -e "LETSENCRYPT_HOST=some.host.com" -e "LETSENCRYPT_EMAIL=someone@somewhere.com" -d db70e6003db9
Хорошо нашел решение
проблема в том, что содержимое не находится в сети, за которой следит прокси-контейнер, самый прямой способ - установить содержимое в режиме моста
network_mode: "bridge"
и порты 80 переполнены, его нужно только выставить
expose:
- "80"
источники:
https://github.com/jwilder/nginx-proxy/issues/552
https://github.com/docker/compose/issues/3012
Почему бы не использовать простой и простой образ nginx, например этот. Docker уже делает DNS за вас.