Как контейнеры Docker получают доступ к хост-сервисам
Как контейнеры Docker получают доступ к хост-сервисам

Предисловие

Запишите общий вопрос: Как контейнеры Docker получают доступ к хост-сервисам. мы знаем в docker Внутри контейнера, если вы получаете прямой доступ 127.0.0.1 Доступ к хост-машине невозможен, что мне делать?

Самый прямой метод

Если вы используете его самостоятельно и на этом компьютере нет других служб, то я рекомендую использовать напрямую хост-сеть, что является простым и прямым, всего одним щелчком мыши.

Язык кода:javascript
копировать
docker run -it --network host ubuntu:latest

элегантное решение

Потом я нашел очень, очень длинный issue В середине есть комментарий, в котором говорится https://github.com/docker/for-linux/issues/264#issuecomment-964620100 (Github тоже пьян. Скрытая часть посередине требует нажатия несколько раз, прежде чем она полностью развернется)

Если вы не хотите использовать host сеть, доступна host.docker.internal для доступа к услугам хоста.

Может использоваться под докером

Язык кода:javascript
копировать
docker run --add-host host.docker.internal:host-gateway

Может использоваться под docker-compose

Язык кода:javascript
копировать
services:
  myservice:
    extra_hosts:
      - host.docker.internal:host-gateway

Я тестирую это сейчас Linux Возможно следующее: использовать его непосредственно после завершения настройки. host.docker.internal Вы можете получить доступ к услугам хостера. из-за этого issue Это занимает очень много времени, поэтому адаптированная версия этого метода ненадежна, и вам нужно протестировать ее самостоятельно.

boy illustration
40 вопросов для собеседований по SpringBoot, которые необходимо задавать на собеседованиях! При необходимости ответьте на вопросы для собеседования SpringBoot [предлагаемый сборник] [легко понять]
boy illustration
Через два года JVM может быть заменен GraalVM.
boy illustration
Разрешение циклических зависимостей Spring Bean: существует ли неразрешимая циклическая ссылка?
boy illustration
Разница между промежуточным программным обеспечением ASP.NET Core и фильтрами
boy illustration
[Серия Foolish Old Man] Ноябрь 2023 г. Специальная тема Winform Control Элемент управления DataGridView Подробное объяснение
boy illustration
.NET Как загрузить файлы через HttpWebRequest
boy illustration
[Веселый проект Docker] Обновленная версия 2023 года! Создайте эксклюзивный инструмент управления паролями за 10 минут — Vaultwarden
boy illustration
Высокопроизводительная библиотека бревен Golang zap + компонент для резки бревен лесоруба подробное объяснение
boy illustration
Концепция и использование Springboot ConstraintValidator
boy illustration
Новые функции Go 1.23: точная настройка основных библиотек, таких как срезы и синхронизация, значительно улучшающая процесс разработки.
boy illustration
[Весна] Введение и базовое использование AOP в Spring, SpringBoot использует AOP.
boy illustration
Чтобы начать работу с рабочим процессом Flowable, этой статьи достаточно.
boy illustration
Байтовое интервью: как решить проблему с задержкой сообщений MQ?
boy illustration
ASP.NET Core использует функциональные переключатели для управления реализацией доступа по маршрутизации.
boy illustration
[Проблема] Решение Невозможно подключиться к Redis; вложенное исключение — io.lettuce.core.RedisConnectionException.
boy illustration
От теории к практике: проектирование чистой архитектуры в проектах Go
boy illustration
Решение проблемы искажения китайских символов при чтении файлов Net Core.
boy illustration
Реализация легких независимых конвейеров с использованием Brighter
boy illustration
Как удалить и вернуть указанную пару ключ-значение из ассоциативного массива в PHP
boy illustration
Feiniu fnos использует Docker для развертывания учебного пособия по AList
boy illustration
Принципы и практика использования многопоточности в различных версиях .NET.
boy illustration
Как использовать PaddleOCRSharp в рамках .NET
boy illustration
CRUD используется уже два или три года. Как читать исходный код Spring?
boy illustration
Устраните проблему совместимости между версией Spring Boot и Gradle Java: возникла проблема при настройке корневого проекта «demo1» > Не удалось.
boy illustration
Научите вас шаг за шагом, как настроить Nginx.
boy illustration
Это руководство — все, что вам нужно для руководства по автономному развертыванию сервера для проектов Python уровня няни (рекомендуемый сборник).
boy illustration
Не удалось запустить docker.service — Подробное объяснение идеального решения ️
boy illustration
Настройка файлового сервера Samba в системе Linux Centos. Анализ NetBIOS (супер подробно)
boy illustration
Как настроить метод ssh в Git, как получить и отправить код через метод ssh
boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.