Не удается подключиться к атласу MongoDb при использовании альпийских образов Docker - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть ядро ​​приложения .net / c # aspnet, которое подключается к базе данных MongoDb Atlas Cloud. При локальном запуске все работает нормально.

Теперь я помещаю приложение в образ альпийского докера, в котором происходит сбой соединения. У меня есть несколько исключений, указывающих на то, что аутентификация не работает.

Вот мой DockerFile, который собирает и запускает приложение

FROM microsoft/dotnet:2.1-sdk-alpine AS builder
WORKDIR /
COPY . .
RUN dotnet publish Api/Api.csproj -o /dockerout/ -c Release

FROM microsoft/dotnet:2.1.3-aspnetcore-runtime-alpine
WORKDIR /app
EXPOSE 80 5000

RUN apk update

COPY --from=builder /dockerout .

ENTRYPOINT ["dotnet", "Api.dll"]

1 Ответ

0 голосов
/ 06 сентября 2018

После долгих исследований я обнаружил проблему, указывающую мне на основную причину: https://github.com/dotnet/corefx/issues/9608#issuecomment-401370142

Поскольку мне потребовалось много времени, я отвечу на свой вопрос в надежде, что кто-то сэкономит время.

Есть два возможных решения: а) не используйте альпийское изображение б) обновите пакет openssl при построении образа, добавив open ssl, например: apk add --no-cache openssl

Полный DockerFile, который решил это для меня:

FROM microsoft/dotnet:2.1-sdk-alpine AS builder
WORKDIR /
COPY . .
RUN dotnet publish Api/Api.csproj -o /dockerout/ -c Release

FROM microsoft/dotnet:2.1.3-aspnetcore-runtime-alpine
WORKDIR /app
EXPOSE 80 5000

RUN apk update && apk add --no-cache openssl

COPY --from=builder /dockerout .

ENTRYPOINT ["dotnet", "Api.dll"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...