Я создаю базу данных в контейнере Docker с помощью следующего
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong@Passw0rd" -p 1433:1433 --network MyAppNetwork --name MyAppDb -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu
Затем я запускаю свое приложение ASP.NET Core 3.0
docker run -p 5000:80 -e "ASPNETCORE_ENVIRONMENT=Development" --network MyAppNetwork --name MyApp myimage
Внутри приложения естьстрока подключения
Data Source=MyAppDb;Initial Catalog=MyAppDb;User ID=sa;Password=YourStrong@Passw0rd
, и я постоянно получаю сообщение об ошибке
Произошла ошибка, связанная с сетью или экземпляром, при установлении соединения с SQL Server. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: поставщик TCP, ошибка: 40 - не удалось открыть подключение к SQL Server)
Я пытался MyAppDb,1433
localhost
localhost,1433
... ничего не работает
* 1020Документация Docker гласит, что вы должны иметь возможность ссылаться на другие контейнеры Docker через их имена, если они находятся в одной сети, но они не ведут себя так, как ожидалось для меня. Я попытался не указывать сеть, поэтому контейнеры просто по умолчанию подключаются к мосту, но ничего не изменилось.
Примечание. Я могу без проблем подключаться к базе данных с хост-компьютера, но из другого контейнера-докера,ничего не работает.
Есть идеи?
- обновить -
docker network inspect MyAppNetwork
[
{
"Name": "MyAppNetwork",
"Id": "2f334b2df38c199ef423fdbe65c15e33b43d983e91a3398d75f0d988d5588c13",
"Created": "2019-10-03T10:40:40.3165785Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.19.0.0/16",
"Gateway": "172.19.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"f3106bc710fe760e257dd05aace7e76827d953600e5520556b040706f10246fb": {
"Name": "MyAppDb",
"EndpointID": "c4c58df89b4117674a0db57dfe276086eb48dda36fcc6a0989425b65fc130c41",
"MacAddress": "02:42:ac:13:00:02",
"IPv4Address": "172.19.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
]