Как я могу заменить openssl.cfg в docker образ - PullRequest
0 голосов
/ 23 февраля 2020

Поскольку я пытаюсь получить доступ к стороннему http API http, который не поддерживает TLS1.3, мне нужно заменить /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/"] приводит к появлению сообщения «Ошибка копирования, нет такого файла или каталога».

Где это должно быть go или, возможно, существует другой способ включить TSL1 / TLS1.1 в моем контейнере?

1 Ответ

0 голосов
/ 24 февраля 2020

У меня работал следующий 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

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