@letema

Как настроить Docker и динамические поддомены?

Добрый день. Есть задача. Есть проект с докером который будет разворачиваться с ветки гита на сервер. Нужно чтобы поддомен присваивался приложению автоматически. Например *.dev.domen.ru. Я так понял можно сделать это через nginx-proxy. Но что то не работает. Вот мой docker-compose
version: '3'
services:
nginx:
image: nginx:1.10
env_file: .env
ports:
- 8090:80
networks:
- confluence
- proxy
environment:
VIRTUAL_HOST: 'develop.dev.domen.ru'
VIRTUAL_PORT: '8090'
volumes:
- ".:/var/www"
- "./env/nginx/nginx.conf:/etc/nginx/nginx.conf"
- "./env/nginx/conf.d:/etc/nginx/conf.d"
- "./env/var/log/nginx:/var/log/nginx"
proxy:
image: jwilder/nginx-proxy
ports:
- 0.0.0.0:8090
volumes:
- /var/run/docker.sock:/tmp/docker.sock
networks:
- proxy
depends_on:
- app
app:
build: ./env
expose:
- 9000
ports:
- 11080:11080
volumes:
- ".:/var/www"
- "./env/php/www.conf:/etc/php/7.1/fpm/pool.d/www.conf"
- "./env/supervisor:/etc/supervisor"
- "./env/crontab.conf:/etc/crontab.conf"
- "./env/var/log/supervisor:/var/log/supervisor"
entrypoint:
- "/usr/bin/supervisord"
- "-c"
- "/etc/supervisor/supervisord.conf"
depends_on:
- mysql
- redis
mysql:
image: mysql:5.7
env_file: .env
environment:
MYSQL_ROOT_PASSWORD: ''
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
ports:
- 3306:3306
volumes:
- ./env/mysql/my.cnf:/etc/mysql/conf.d/1bom.cnf
- ./env/var/lib/mysql:/var/lib/mysql
redis:
image: redis
ports:
- 6379:6379
volumes:
- ./env/var/redis:/data

Можете подсказать в чем причина?
  • Вопрос задан
  • 1154 просмотра
Пригласить эксперта
Ответы на вопрос 2
@q2digger
никого не трогаю, починяю примус
А зачем вам еще один прокси перед jwilder/nginx-proxy ?
Смотрите, вот реально работающий docker-compose с nginx-proxy + confluence + postgress:
version: '2'

services:
  confluence:
    image: q2digger/confluence:latest
    container_name: confluence
    hostname: confluence
    volumes:
      - app_data:/var/atlassian/application-data/confluence
    restart: always
    ports:
      - 8090:8090
      - 8091:8091
    networks:
      - confluence
      - proxy
    environment:
      JVM_MINIMUM_MEMORY: '2048m'
      JVM_MAXIMUM_MEMORY: '4096m'
      CATALINA_CONNECTOR_PROXYNAME: 'confluence.local.net'
      CATALINA_CONNECTOR_PROXYPORT: '443'
      CATALINA_CONNECTOR_SCHEME: 'https'
      VIRTUAL_HOST: 'confluence.local.net'
      VIRTUAL_PORT: '8090'
  proxy:
    image: jwilder/nginx-proxy
    ports:
      - 0.0.0.0:80:80
      - 0.0.0.0:443:443
    volumes:
      - ./confluence.local.net.conf:/etc/nginx/vhost.d/confluence.local.net:ro
      - /var/run/docker.sock:/tmp/docker.sock
      - ./certs/:/etc/nginx/certs:ro
    networks:
      - proxy
  database:
    image: blacklabelops/postgres
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=atlassian
      - POSTGRES_DB=confluence
      - POSTGRES_USER=atlassian
      - POSTGRES_ENCODING=UNICODE
      - POSTGRES_COLLATE=C
      - POSTGRES_COLLATE_TYPE=C
    networks:
      - confluence

volumes:
  db_data:
  app_data:

networks:
  confluence:
  proxy:


nginx-proxy взлетает на стандартных портах 80 и 443, конфиг кастомный я туда подкидываю (если надо), ssl сертификаты тоже
Ответ написан
Комментировать
@letema Автор вопроса
А как тогда добавить динамический поддомен к proxy nginx?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы