Docker Приложение Swarm, развернутое со стеком, недоступно извне - PullRequest
0 голосов
/ 17 января 2020

Я новичок в Docker рое и поэтому не знаю, что делать.

Я пытаюсь создать друпал-сайт и базу данных, используя стек в Swarm.

Моя конфигурация состоит из 3 виртуальные машины (с использованием Virtual Box), которые подключены к сетевому адаптеру с мостовым соединением и находятся на том же su bnet, что и хост (10.0.0.X).

После развертывания приложения не было ошибки, однако я не смог получить доступ к сайту с хоста.

Я также проверил соединение между всеми узлами на следующих портах

7946 / tcp, 7946 / udp и 4789 / udp

Что мне не хватает? Это составной файл, который я использую:

version: '3.1'

services:

  drupal:
    container_name: drupal
    image: drupal:8.2
    ports:
      - "8080:80"    
    networks: 
      - drupal_net
    volumes:
      - drupal-modules:/var/www/html/modules
      - drupal-profiles:/var/www/html/profiles       
      - drupal-sites:/var/www/html/sites      
      - drupal-themes:/var/www/html/themes
 
  postgres:
    networks: 
      - drupal_net
    container_name: postgres
    image: postgres:9.6
    secrets:
      - psql-password
    environment:
      - POSTGRES_PASSWORD_FILE=/run/secrets/psql-password
    volumes:
      - drupal-data:/var/lib/postgresql/data
networks: 
  drupal_net:
    driver: overlay

volumes:
  drupal-data:
  drupal-modules:
  drupal-profiles:
  drupal-sites:
  drupal-themes:

secrets:
  psql-password:
    external:
      name: psql-pw

Примечания:

  1. Я попытался добавить хост-компьютер в Swarm и смог получить доступ к приложению только через localhost , Если бы мне нужно было ввести IP-адрес одного из узлов, я все равно не получил бы ответ.

  2. С другого устройства в той же сети приложение все еще было недоступно. (Мне удалось пропинговать все узлы, включая хост)

  3. Я пытался создать на одном узле Swarm, и все равно не было доступа к приложению

  4. Все упомянутые сценарии ios, которые я тестировал, также с простым nginx приложением

...