Запишите общий вопрос: Как контейнеры Docker получают доступ к хост-сервисам. мы знаем в docker Внутри контейнера, если вы получаете прямой доступ 127.0.0.1 Доступ к хост-машине невозможен, что мне делать?
Если вы используете его самостоятельно и на этом компьютере нет других служб, то я рекомендую использовать напрямую хост-сеть, что является простым и прямым, всего одним щелчком мыши.
docker run -it --network host ubuntu:latest
Потом я нашел очень, очень длинный issue В середине есть комментарий, в котором говорится https://github.com/docker/for-linux/issues/264#issuecomment-964620100 (Github тоже пьян. Скрытая часть посередине требует нажатия несколько раз, прежде чем она полностью развернется)
Если вы не хотите использовать host сеть, доступна host.docker.internal
для доступа к услугам хоста.
Может использоваться под докером
docker run --add-host host.docker.internal:host-gateway
Может использоваться под docker-compose
services:
myservice:
extra_hosts:
- host.docker.internal:host-gateway
Я тестирую это сейчас Linux Возможно следующее: использовать его непосредственно после завершения настройки. host.docker.internal
Вы можете получить доступ к услугам хостера. из-за этого issue Это занимает очень много времени, поэтому адаптированная версия этого метода ненадежна, и вам нужно протестировать ее самостоятельно.