Asp. net ядро ​​в docker Необработанное исключение. SqlException (0x80131904): .., но затем произошла ошибка во время рукопожатия перед входом в систему - PullRequest
0 голосов
/ 14 июля 2020

Я получаю сообщение об ошибке

«Необработанное исключение. Microsoft.Data.SqlClient.SqlException (0x80131904): соединение с сервером было успешно установлено, но затем произошла ошибка во время квитирования перед входом в систему. . (поставщик: поставщик TCP, ошибка: 0 - Неизвестная ошибка 203) "

при запуске asp. net контейнер основного приложения с использованием docker -compose в потоке CI / CD из gitlab (self -hosted) runner в ubuntu 19.10 все docker изображения - последние.

После запуска MS SQL я обычно могу подключиться к нему с помощью SSMS, но приложение не работает с исключением.

TargetFramework: netcoreapp3.1 ORM: EntityFrameworkCore 3.1.4

docker -compose.yml

version: '3.4'

services:
  websiteanalyzer:
    container_name: project-aspnet-core
    image: registry.gitlab.example.com/user/project/imagename:develop
    ports:
      - "34080:34080"
    volumes:
      - /data/project/app/conf/appsettings.json:/app/appsettings.json
    depends_on:
      - db
  db:
    container_name: project-db
    image: "mcr.microsoft.com/mssql/server"
    environment:
        SA_PASSWORD: "password"
        ACCEPT_EULA: "Y"
    ports:
      - "34433:1433"
    volumes:
      - /data/project/mssql/data:/var/opt/mssql/data
      - /data/project/mssql/log:/var/opt/mssql/log
      - /data/project/mssql/secrets:/var/opt/mssql/secrets

Dockerfile

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80
#EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
#WORKDIR /src
#COPY ["src/Project/Project.csproj", "Project/"]
#RUN dotnet restore "Project/Project.csproj"
COPY . .
RUN dotnet restore "src/Project/Project.csproj"
#WORKDIR "/src/Project"
RUN dotnet build "src/Project/Project.csproj" -c Release -o /app/build

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Project.dll"]

appsettings. json

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=db,34433;Database=master;User Id=sa;Password=password;MultipleActiveResultSets=true"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

Есть идеи, что здесь могло пойти не так?

...