Я пытаюсь настроить проект ASP.NET (на основе этого руководства) с использованием Visual Studio для Mac, и мне нужно запустить контейнеры Docker для веб-приложения и базы данных SQL Server.
Используя следующее docker-compose.yaml
, оба контейнера успешно работают, и я могу загрузить целевую страницу веб-приложения на http://localhost:5000:
version: '3.4'
services:
razorpagesmovie:
image: ${DOCKER_REGISTRY-}razorpagesmovie
build:
context: .
dockerfile: RazorPagesMovie/Dockerfile
ports:
- "5000:5000"
depends_on:
- mssql
mssql:
image: microsoft/mssql-server-linux
ports:
- "1433:1433"
environment:
SA_PASSWORD: "L0ngpassword"
ACCEPT_EULA: "Y"
Строка подключения в appsettings.json
равна
Server=<host>,1433;Database=Movies;User=sa;Password=L0ngpassword;
Однако я не знаю, какое значение использовать для имени хоста:
- Если я жестко закодирую IP-адрес моей машины, то и веб-приложение И
dotnet ef database ...
вызовы, выполняемые в моей локальной оболочке, могут подключаться к базе данных - пока мой IP-адрес не изменится
- Если я использую
localhost
, то только базы данных dotnet ef database ...
, выполненные в моей локальной оболочке, могут подключаться к базе данных
- Если я использую
mssql
, то только база данных веб-приложения может подключиться к базе данных
Есть ли более надежный подход, чем жесткое кодирование моего IP?