如何替换docker映像中的openssl.cfg

如何替换docker映像中的openssl.cfg,docker,.net-core,openssl,Docker,.net Core,Openssl,由于我试图访问一个不支持TLS1.3的第三方http API,我需要用我的自定义版本替换/etc/ssl/openssl.cfg 我的dockerfile如下所示: FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR / COPY ["WebApp/openssl.cnf","/etc/ssl/"] WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.micro

由于我试图访问一个不支持TLS1.3的第三方http API,我需要用我的自定义版本替换
/etc/ssl/openssl.cfg

我的dockerfile如下所示:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /

COPY ["WebApp/openssl.cnf","/etc/ssl/"]

WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["WebApp/WebApp.csproj", "WebApp/"]

RUN dotnet restore "WebApp/WebApp.csproj"
COPY . .
WORKDIR "/src/WebApp"
RUN dotnet build "WebApp.csproj" -c Release -o /app/build

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

FROM base AS final
WORKDIR /app

COPY --from=publish /app/publish .

ENTRYPOINT ["dotnet", "WebApp.dll"]
现在我不明白为什么把
COPY[“WebApp/openssl.cnf”、“/etc/ssl/”]
放进去会导致“复制失败,没有这样的文件或目录”


它应该放在哪里,或者是否有其他方法在我的容器中启用TSL1/TLS1.1?

以下Dockerfile对我有效:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /

COPY ["WebApp/openssl.cnf","/etc/ssl/"]

WORKDIR /app
EXPOSE 80
EXPOSE 443
所以我假设这是一个文件结构问题。我的文件结构:

.
├── _Dockerfile
├── _WebApp
|   └── openssl.cnf
或者,问题可能与Dockerfile的另一部分有关