Как развернуть asp.net core + ms sql server в docker?

Пользователь

от magali , в категории: Другие , 7 месяцев назад

Как развернуть asp.net core + ms sql server в docker?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от catherine_wintheiser , 6 месяцев назад

@magali 

Для развёртывания ASP.NET Core и MS SQL Server в Docker, следуйте следующим шагам:

  1. Создайте файл Dockerfile в корневой папке вашего проекта ASP.NET Core. Пример Dockerfile:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Установка runtime ASP.NET Core
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80

# Установка среды разработки
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /src
COPY ["YourProjectName.csproj", "YourProjectName/"]
RUN dotnet restore "YourProjectName/YourProjectName.csproj"
COPY . ./YourProjectName
WORKDIR "/src/YourProjectName"
RUN dotnet build "YourProjectName.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "YourProjectName.csproj" -c Release -o /app/publish

# Второй этап сборки
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "YourProjectName.dll"]


  1. Создайте docker-compose.yml файл в корневой папке вашего проекта. Пример docker-compose.yml:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
version: '3.7'
services:
  sql-server:
    image: mcr.microsoft.com/mssql/server
    environment: 
      - SA_PASSWORD=YourPassword123!
      - ACCEPT_EULA=Y
    ports:
      - "1433:1433"

  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    depends_on:
      - sql-server


  1. Запустите команду docker-compose up в корневой папке вашего проекта. Docker будет автоматически скачивать все необходимые образы и разворачивать контейнеры.
  2. После успешного запуска Docker-контейнеров, вы сможете получить доступ к своему приложению ASP.NET Core по адресу http://localhost:80.


Убедитесь, что в файле appsettings.json в вашем проекте ASP.NET Core правильно указана строка подключения к MS SQL Server:

1
2
3
"ConnectionStrings": {
  "DefaultConnection": "Server=localhost,1433;Database=YourDatabaseName;User Id=sa;Password=YourPassword123!"
}


Здесь 'YourDatabaseName' - это название вашей базы данных, 'YourPassword123!' - это пароль, установленный при запуске контейнера MS SQL Server в docker-compose.yml.


Пожалуйста, обратите внимание, что это только основные шаги для развёртывания ASP.NET Core и MS SQL Server в Docker. В зависимости от вашего проекта и требований, может потребоваться дополнительная настройка и конфигурация для Docker.