Рейтинг:0

Несколько док-контейнеров веб-сервера прослушивают разные IP-адреса хоста

флаг kz

У меня есть сервер с несколькими IP-адресами. Я хочу, чтобы разные контейнеры nginx прослушивались :80 и :443 на двух IP-адресах на этом хосте.

/srv/www1/docker-compose.yml:

нгинкс:
  изображение: nginx: mainline-alpine
  имя_контейнера: www1
  порты:
    - "69.69.69.1:80:80/TCP"
    - "69.69.69.1:443:443/TCP"

/srv/www2/docker-compose.yml:

нгинкс:
  изображение: nginx: mainline-alpine
  имя_контейнера: www2
  порты:
    - "69.69.69.2:80:80/TCP"
    - "69.69.69.2:443:443/TCP"

Либо контейнер может запускаться первым без проблем, но если я попытаюсь запустить второй контейнер (www2 например), пока первый уже запущен, первый контейнер останавливается и выдается такая ошибка:

ВНИМАНИЕ: для этого проекта найдены потерянные контейнеры (www1). Если вы удалили или переименовали эту службу в своем файле компоновки, вы можете запустить эту команду с флагом --remove-orphans, чтобы очистить ее.

Нет, это не один и тот же контейнер. докер-compose.yml файлы даже не в одном каталоге. Похоже, что докер использует изображение: и порты: поля для идентифицировать контейнеры, но игнорирует IP-адреса.

Это ошибка? Как я могу заставить его работать?

Рейтинг:0
флаг kz

Запуск контейнеров из одного файла docker-compose работает.

/srv/www/docker-compose.yml:

версия: '3'
Сервисы:

    нгинкс1:
      изображение: nginx: mainline-alpine
      имя_контейнера: www1
      порты:
        - "69.69.69.1:80:80/TCP"
        - "69.69.69.1:443:443/TCP"
    
    нгинкс2:
      изображение: nginx: mainline-alpine
      имя_контейнера: www2
      порты:
        - "69.69.69.2:80:80/TCP"
        - "69.69.69.2:443:443/TCP"

Проверьте это с SS:

# сс -tln | grep ':80 \|:443 '
ПРОСЛУШАТЬ 0 4096 69.69.69.1:443 0.0.0.0:*          
СЛУШАТЬ 0 4096 69.69.69.2:443 0.0.0.0:*          
СЛУШАТЬ 0 4096 69.69.69.1:80 0.0.0.0:*          
СЛУШАТЬ 0 4096 69.69.69.2:80 0.0.0.0:*
флаг in
Это должно быть решением? Похоже, вместо этого в вопрос следует отредактировать дополнительную информацию.

Ответить или комментировать

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