Докер Межконтейнерное общение на CentOS 7 - PullRequest
0 голосов
/ 07 декабря 2018

Я настраиваю архитектуру микросервисов, используя докер для каждого сервиса.Я также использую шлюз API kong, работающий в собственном док-контейнере.Докер-хост - это Centos 7, работающий на виртуальной машине с IP 192.168.222.76.

В командной строке хоста я могу получить доступ к стартовой службе через порт 7000 в порядке.Однако в виртуальной машине kong я пропингую IP-адрес, но не могу получить доступ к сервису.Как вы можете видеть из вывода ниже, он говорит: «Хост недоступен».

Я запускаю докер с --icc = true и --iptables = true, и я сделал несколько предложенных изменений в firewalld ибогатые правила и т. д., но я по-прежнему не могу связаться с другим контейнером из контейнера kong.

Я запускаю контейнер kong с именем сети "kong-net", а база данных kong является экземпляромнаходится в той же сети докеров, и они, кажется, могут общаться.Я добавил свой стартовый сервисный контейнер в ту же сеть при запуске, но до сих пор не радуюсь.Контейнер kong МОЖЕТ получить доступ к внешнему миру, но не к другим контейнерам-докерам на одном хосте.

Вывод ниже:

[root @ docker ~] # clear
[root @ docker ~] # curl 192.168.222.76:7000/starter/hello
Привет, аноним! !!
[root @ docker ~] # docker exec -it kong / bin / ash
# curl 192.168.222.76: 7000 / starter / hello
curl: (7) Не удалось подключиться к порту 192.168.222.76 7000: хост недоступен

# curl www.google.com
HTML возвращен правильно ...

Любая помощь по этому вопросу приветствуется!

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Мне удалось заставить ICC работать, отключив firewalld все вместе (остановка, отключение, маска с помощью systemctl) и открыв все в iptables.Теперь нужно просто настроить правила для блокировки входящего доступа, за исключением шлюза API и SSH.

Спасибо!

0 голосов
/ 07 декабря 2018

Вы должны добраться до другого контейнера с его именем контейнера.Попробуйте это:

docker exec -t kong curl servicename:7000/starter/hello

Контейнерный и служебный контейнеры Kong должны находиться в одной сети

...