У меня есть приложение java, работающее в контейнере докера, и rabbitmq работает на локальном хосте (mac). Приложению нужно общаться с кроликом на локальном хосте, может кто-нибудь указать, как я могу это достичь?Подключитесь к rabbitmq на локальном хосте из контейнера Docker
ответ
@Giorgio Спасибо за ваш ответ, он показал мне правильное место, чтобы посмотреть. Я не мог заставить его работать с вашим решением, поскольку я использую Docker на Mac, и ваше решение подходит для среды Linux.
Networing функция для Докер на Mac не поддерживает интерфейс docker0, как описано в https://docs.docker.com/docker-for-mac/networking/
Я последовал за данное решение в разделе «Я хочу подключить от контейнера к службе на хосте» по ссылке выше ,
Создание псевдонима на lo0 и настройка rabbitmq.config для прослушивания на том, что IP решил мою проблему.
Docker engine обеспечивает виртуальный сетевой интерфейс как getway, если вы используете --net="bridge"
. Это стандартное значение. В linux вы можете узнать имя интерфейса с помощью команды ifconfig
.
docker0 Link encap:Ethernet IndirizzoHW 02:42:56:6c:95:26
indirizzo inet:172.17.0.1 Bcast:0.0.0.0 Maschera:255.255.0.0
indirizzo inet6: fe80::42:56ff:fe6c:9526/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28267 errors:0 dropped:0 overruns:0 frame:0
TX packets:25451 errors:0 dropped:0 overruns:0 carrier:0
collisioni:0 txqueuelen:0
Byte RX:52948314 (52.9 MB) Byte TX:25718113 (25.7 MB)
Внутри моего контейнера я просто использовать, в этом случае, 172.17.0.1 в качестве шлюза для доступа к моему хозяину.
Внутри вашего контейнера вы можете также показать маршруты с помощью команды route
и посмотреть, что шлюз по умолчанию
[email protected]:/# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 172.17.0.1 0.0.0.0 UG 0 0 0 eth0
172.17.0.0 * 255.255.0.0 U 0 0 0 eth0
[email protected]:/#
- 1. Подключение к Mysql на локальном хосте из Докер контейнера
- 2. Соединение Rabbitmq внезапно закрывается на локальном хосте
- 3. RabbitMQ Сообщения HelloWorld блокируются на локальном хосте?
- 4. клиент не может подключиться к серверу RabbitMQ на локальном хосте
- 5. Подключитесь к докер-машине, используя «localhost»
- 6. Невозможно запустить Docker проект в локальном хосте
- 7. Как кластеры RabbitMQ распознают перезагрузку контейнера Docker?
- 8. RabbitMQ привет мир соединение не работает на локальном хосте
- 9. Подключение к серверу MySQL на локальном хосте через докере
- 10. Работа с RabbitMQ внутри контейнера Docker
- 11. RabbitMQ привет мир соединение работает только на локальном хосте (питон)
- 12. JQuery на локальном хосте
- 13. Спарк на локальном хосте
- 14. Доступ к rabbitmq, выполняющийся на локальной машине из контейнера-докера
- 15. mysql_connect() на локальном хосте
- 16. NotBoundException на локальном хосте
- 17. ошибка на локальном хосте
- 18. Как построить на хосте при запуске Jenkins внутри контейнера Docker?
- 19. TYPO3 Доступ к Frontend на локальном хосте
- 20. Как добавить пользователя контейнера в группу пользователей на хосте Docker?
- 21. Тестирование Chrome на локальном хосте
- 22. мухе выполнить на локальном хосте не удается
- 23. Как подключиться к серверу MySQL, работающему на ПК-хосте, из контейнера Docker?
- 24. Htaccess переписать на локальном хосте
- 25. подстановочных субдоменов на локальном хосте
- 26. Выполнение команд docker на хосте
- 27. Слои OSI на локальном хосте
- 28. регистрация контейнера докеров на хосте через тома
- 29. PHP клиент не может подключиться к серверу RabbitMQ на локальном хосте
- 30. Cygnus установить на локальном хосте
Обратите внимание, что iproute2 доступен для запроса сетевой информации в большинстве linux 'now 'ip link show'' ip address show' 'ip route show' – Matt