В приложении .Net Framework, созданном в VS (приложение создается и разворачивается VS), я пытался получить доступ к своей локальной базе данных из Docker, используя host.docker.internal, но это не решается, при попытке пропинговать я получаю это:
Запросу Ping не удалось найти хост host.docker.internal. Пожалуйста, проверьте имя и попробуйте еще раз.
Изменение host.docker.internal на мой внутренний IP-адрес работает нормально (порты открыты), но так как этот проект используют другие люди, я не могу его использовать. Файл
hosts на моем ПК содержит файл host.docker.internal (с помощью Management Studio все получилось).
Я уже пытался понизить версию Docker для Windows до версии 2.0.0.3.
Я пробовал несколько изображений, предоставленныхMicrosoft (4.7 1803 и 4.8 1803 1903 и новее).
Я попытался добавить в compose network_mode: "host"
Docker Compose такой же, как генерируемый VS, только: проект, образ и сборка с контекстом иdockfile
Переопределение составления Docker:
version: '3.4'
{code}services:
xxx:
ports:
- "80"
depends_on:
- xxx.webapi
xxx.webapi:
ports:
- "80"
networks:
default:
external:
name: nat
Dockerfile
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-1903
ADD https://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi /install/rewrite_amd64.msi
RUN msiexec.exe /ic:\install\rewrite_amd64.msi / passive
Источник ARG
WORKDIR / inetpub / wwwroot
COPY $ {источник: -obj / Docker / publish}.