ConnectionStrings в докере не может подключитьсяC#

Место общения программистов C#
Ответить
Anonymous
 ConnectionStrings в докере не может подключиться

Сообщение Anonymous »

У меня есть файл docker-compose.yml для запуска sqlserver и API csharp, созданный ABP.io

Код: Выделить всё

services:
my-api:
container_name: my-api
environment:
- ASPNETCORE_ENVIRONMENT=Docker
depends_on:
- sqlserver
ports:
- "44353:44353"
sqlserver:
container_name: sqlserver
image: mcr.microsoft.com/mssql/server:2022-latest
environment:
- MSSQL_SA_PASSWORD=p@ssw0rd
- ACCEPT_EULA=Y
ports:
- "1433:1433"

Вот мой Dockerfile для MyApi

Код: Выделить всё

FROM mcr.microsoft.com/dotnet/aspnet:8.0  AS base
COPY bin/Release/net8.0/publish/ app/
WORKDIR /app

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src

FROM base AS final
WORKDIR /app
COPY --from=build /src .

ENTRYPOINT ["dotnet", "MyApi.dll"]
Моя проблема в том, что API не может запуститься из-за ConnectionStrings

Код: Выделить всё

Server=sqlserver,1433;Database=MyDatabase;User ID=sa;pwd=p@ssw0rd;TrustServerCertificate=True
Но я не могу понять почему, потому что:
  • Когда я пытаюсь подключиться к докеру БД с sqlcmd или с управлением SQL Studio с моего хост-компьютера, все работает нормально.
  • Если я создаю докер Ubuntu внутри стека, чтобы пинговать мою машину (sqlserver) по имени докера, это тоже работает
  • Если я запустил sqlcmd внутри докера Ubuntu с помощью этой командной строки /opt/mssql-tools18/bin/sqlcmd -S sqlserver,1433 -U sa -P p@ssw0rd -C это работает
  • Если я запускаю MyApi с помощью docker ConnectionStrings вне моего докера (непосредственно из Visual Studio), это работает
Я действительно не понимаю, что такое В моем случае отсутствует или неправильный.
Я также клонирую этот репозиторий docker-compose-demo, чтобы проверить, работает ли он, и это так.
Это что-то специфическое для ABP .io ? Я пока ничего не понимаю

Подробнее здесь: https://stackoverflow.com/questions/792 ... nt-connect
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»