Подключите веб-приложение, работающее в контейнере Docker (Windows), к SQL Server, работающему в частной подсети AWS - PullRequest
0 голосов
/ 30 октября 2019

Среда

  1. Приложение ASPNET MVC, работающее в Docker
  2. Образ Docker: microsoft / aspnet: 4.7.2-windowsservercore-1803, работающий в Docker-for-Windows на хосте Win10Ent
  3. SQL Server, работающий на AWS EC2 в частной подсети
  4. VPN-подключение к подсети

Фон

Приложение может подключаться к базе данных при активации VPN, и все работает нормально. Однако, когда приложение работает в Docker, исходное соединение с базой данных отклоняется. Поскольку база данных находится в частной подсети, для подключения требуется VPN. Я могу пинговать сервер базы данных, а также общий Интернет успешно из командной строки, запущенной внутри контейнера, поэтому базовая сеть работает нормально.

Конфигурация

Dockerfile

FROM microsoft/aspnet:4.7.2-windowsservercore-1803
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .

Docker Compose

version: '3.4'

services:
  myWebApp:
    image: ${DOCKER_REGISTRY}myWebApp
    build:
      context: .
      dockerfile: Dockerfile

Сетевая запись удаляется, когда NAT сопоставлен с Ethernet, и я работаю по WiFi, поэтому он отключен.

Строка подключения SQL (экземпляр по умолчанию на порте def)

"Data Source=192.168.1.100;Initial Catalog=Admin;Persist Security Info=True;User ID=admin;Password=WVU8PLDR" providerName="System.Data.SqlClient"

Конфигурация локальной сети

Local network configuration

Состояние пинга

Ping status for db server and google

Дайте мне знать, что нужно исправить. Может быть предоставлена ​​любая информация, относящаяся к среде или конфигурации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...