【问题标题】:Connecting to MongoDb atlas fails when using alpine Docker images使用 alpine Docker 映像时连接到 MongoDb 地图集失败
【发布时间】:2018-09-06 14:50:42
【问题描述】:

我有一个连接到 MongoDb Atlas Cloud 数据库的 .net / c# aspnet 核心应用程序。 在本地运行时,一切正常。

现在我将应用程序放在高山 docker 映像中,应用程序连接失败。 我遇到了一些异常,指出身份验证不起作用。

这是我构建和运行应用程序的 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"]

【问题讨论】:

    标签: c# mongodb docker alpine mongodb-atlas


    【解决方案1】:

    经过大量研究,我发现了一个问题,指出了根本原因: https://github.com/dotnet/corefx/issues/9608#issuecomment-401370142

    因为我花了很多时间,所以我会回答我自己的问题,希望有人能节省时间。

    有两种可能的解决方案 a) 不要使用高山图像 b) 在构建镜像时更新 openssl 包,通过添加这样的开放 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"]
    

    【讨论】:

      猜你喜欢
      • 2020-11-17
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 2016-12-28
      • 2018-11-22
      • 2017-11-30
      • 2019-05-17
      • 1970-01-01
      相关资源
      最近更新 更多