Конфликт портов в docker -композит - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь создать следующее с обратным прокси-сервером (веб-сайты работают только), но с почтовым сервером, он выдает ошибку конфликта портов в docker -compose.

Я хочу, чтобы Сети сосуществуют с почтовой службой. Например mail.sitea.com

Есть предложения?

version: '3.4'
services:

  nginx-proxy:
    image: jwilder/nginx-proxy
    restart: always
    ports:
      - 443:443
      - 80:80
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

  site-a:
    image: nginx
    restart: always
    expose:
      - '80'
    volumes:
      - /var/www/site-a/public_html/:/usr/share/nginx/html:ro
    environment:
      - VIRTUAL_HOST=sitea.com

  site-b:
    image: nginx
    restart: always
    expose:
      - '80'
    volumes:
      - /var/www/site-b/public_html/:/usr/share/nginx/html:ro
    environment:
      - VIRTUAL_HOST=siteb.com

  poste:
    image: analogic/poste.io
    restart: always
    network_mode: "host"
    expose:
      - 25
      - 80
      - 443
      - 110
      - 143
      - 465
      - 587
      - 993
      - 995
    volumes:
      - /docker/mail:/data
    environment:
      - HTTPS=ON
      - DISABLE_CLAMAV=TRUE

ВЫХОД

/docker# vim /docker/docker-compose.yml
root@adroconstruccion:/docker# docker-compose up -d
Removing docker_nginx-proxy_1
docker_site-b_1 is up-to-date
docker_site-a_1 is up-to-date
Starting 08fba2b58471_docker_nginx-proxy_1 ... error
Recreating docker_poste_1                  ...

ERROR: for 08fba2b58471_docker_nginx-proxy_1  Cannot start service nginx-proxy: driver failed programming external connectivity on endpoint 08fba2b58471_docker_nginx-proxy_1 (095659f459c1af8c729129074520b40800e528719727061bdbc4bfa25f6c37d5)Recreating docker_poste_1                  ... done

ERROR: for nginx-proxy  Cannot start service nginx-proxy: driver failed programming external connectivity on endpoint 08fba2b58471_docker_nginx-proxy_1 (095659f459c1af8c729129074520b40800e528719727061bdbc4bfa25f6c37d5): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use
ERROR: Encountered errors while bringing up the project.

1 Ответ

0 голосов
/ 31 марта 2020

Если вы запустите poste с network_mode: "host", он будет прослушивать эти порты в локальной сети. Таким образом, прослушиватель порта 443 в почтовой службе конфликтует с nginx-proxy

. В зависимости от того, что вы используете poste Continer, вы можете избежать комментирования этих портов (80 и 443). ) и просто используя почтовые порты. Или вы можете удалить network_mode: "host" и, возможно, прокси их через nginx?

...