LINUX.ORG.RU
ФорумAdmin

docker stack deploy - не подключается с хоста к apache

 , , ,


0

1

Есть такой stack.yml:

# Access via "http://localhost:8080"
#   (or "http://$(docker-machine ip):8080" if using docker-machine)
#

version: '3.1'

services:

  drupal:
    image: drupal:7-apache
    ports:
      - 8080:80
    volumes:
      - /var/www/html/modules
      - /var/www/html/profiles
      - /var/www/html/themes
      # this takes advantage of the feature in Docker that a new anonymous
      # volume (which is what we're creating here) will be initialized with the
      # existing content of the image at the same location
      - /var/www/html/sites
    restart: always

  mysql:
    image: mysql:5
    environment:
      MYSQL_ROOT_PASSWORD: example
    restart: always


Деплою с помощью docker stack -c stack.yml drupal, всё поднимается, но с хоста (http://localhost:8080) нельзя достучаться до apache - браузер висит в состоянии подключения и ничего не рисует.

Если зайти на работающий контейнер (docker exec) и оттуда подключиться с помощью, например, lynx - работает, предлагает заполнить форму для установки друпала.

Куда копать?

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

anonymous
()
Ответ на: комментарий от kinkstarter

продолжай наблюдения, макака

anonymous
()
Ответ на: комментарий от anonymous

Во втором конфиге 8088, чтобы другой порт был на всякий случай. iptables не показывает дропнутых пакетов (все по нулям).

kinkstarter
() автор топика
Последнее исправление: kinkstarter (всего исправлений: 1)

docker

Скачиваешь десять книг по докеру с торрент трекера. Сидишь, читаешь, выполняешь примеры. Проходит один месяц. И ты сможешь играться в этот чудо докер.

Не хочешь так делать? Тогда не страдай. Поставь ubuntu-lts, настрой все сервисы, и крути чудные друпалы. Нужно автоматизировать? Используй ansible playbook.

PS: Докер говно. И все его клоны.

anonymous
()

Похоже, всё портит эта фигня: https://docs.docker.com/engine/swarm/ingress/ Слишком умный докер пытается маршрутизировать/балансировать, но почему-то обламывается. А если явно указать mode=host, всё работает:

version: '3.7'

services:

  httpd:
    image: httpd:2.4
    ports:
      - target: 80
        published: 8080
        protocol: tcp
        mode: host
kinkstarter
() автор топика
Ответ на: комментарий от kinkstarter

А есть хоть одна причина, по которой нужен именно swarm со своими ингресами и прочими заморочками? docker-compose попробуй, если нет.

anonymous
()

Куда копать?

В сторону удаления докера. Он не нужен.

firkax ★★★★★
()
Ответ на: комментарий от George

Какие ваши доказательства(С)?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.