- обувь jordan для продажи
- 16370
|
По умолчанию сеть докер-контейнера построена в виде моста (в той же локальной сети, что и хост, но с использованием отдельного независимого LAN IP), когда программа работает в производственной среде, подключение к базе данных, redis и т.д. требует только настройки соответствующего адреса сервиса.
В среде разработки, если сервис запущен в docker, а база данных работает локально, конфигурирование 127.0.0.1 при настройке подключения к базе данных работает не очень хорошо.
Эту проблему можно решить двумя способами.
Решение первое:
Рассматривайте хост и контейнер как две отдельные машины и при настройке адреса указывайте LAN ip или public ip хоста.
Решение второе:
Прописать адрес хоста напрямую как: host.docker.internal, но второй способ требует docker версии выше 18.03, и должен использоваться под windows и mac.
Чтобы проверить, можете ли вы получить доступ к хосту любым из этих способов, вы можете запустить образ непосредственно из docker и пропинговать его из командной строки по адресу.
Установите инструмент ping в контейнер, построенный в Docker h ttps:// www.itsvse.com/thread-8966-1-1.html (Источник: architect_programmer)
Из рисунка выше видно, что контейнер посещает host.docker.internal , который может получить доступ к сервисам хоста, проверив файл /etc/hosts, обнаружил, что нет перенаправления домена, конкретные принципы, лежащие в основе docker, не знаю, по telnet 1433 порт, то есть база данных mssql, может быть подключен к успеху.
Хост и контейнер, на самом деле, может быть host.docker.internal доступ к службам хоста, однако, через команду ping обратный адрес отличаются, следующим образом:
|
Предыдущая статья: Примеры того, что такое проникновение в кэш Redis, лавина кэша и разрушение кэшаСледующая статья:Решение ошибки "Обнаружена круговая зависимость компонентов" в Autofac
|