Skip to content

Ошибка при запуске проекта в докере - Exited(139) #4

@Zilo676

Description

@Zilo676

Здравствуйте.

Пытаюсь запустить тестовый проект в докере, но получаю 139 ошибку. Билд проходит успешно,и при этом сама ошибка появляется непосредственно при запуске проекта при вызове данной строки:

using (var gostCert = new X509Certificate2(Gost2012_256Pfx, "1", X509KeyStorageFlags.CspNoPersistKeySet))

Вывод команды dotnet --info:

root@4ebe19d68823:/app# dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.1.415
 Commit:    52a108342e

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  18.04
 OS Platform: Linux
 RID:         ubuntu.18.04-x64
 Base Path:   /usr/share/dotnet/sdk/3.1.415/

Host (useful for support):
  Version: 3.1.21
  Commit:  df8abc0f7e

.NET Core SDKs installed:
  3.1.415 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.App 3.1.21 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.21 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

/opt/cprocsp/bin/amd64/csptestf -enum -info

CSP (Type:80) v5.0.10003 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 37715443
GetProvParam(...PP_ENUMALGS...) until it returns false
   Algid    Bits     Type     NameLen    AlgName
__________________________________________________
 0000661eh  256    Encrypt       14    GOST 28147-89
 00008021h  256    Hash          18    GR 34.11-2012 256
 00002e49h  512    Signature     18    GR 34.10-2012 256
 0000aa46h  512    Exchange      18    DH 34.10-2012 256
 0000aa47h  512    Exchange      18    DH 34.10-2012 256
 0000801fh  32     Hash          18    GOST 28147-89 MAC
 00008034h  256    Hash          20    GR34.11-12 256 HMAC
Cycle exit when getting data. 7 items found. Level completed without problems.

Dockerfile:

FROM mcr.microsoft.com/dotnet/nightly/sdk:3.1-bullseye

# установка рантайма
RUN wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
    && dpkg -i packages-microsoft-prod.deb \
    && rm packages-microsoft-prod.deb

RUN apt-get update \
 && apt-get install -y apt-transport-https \ 
 && apt-get update &&  apt-get install -y dotnet-runtime-3.1

ENV DOTNET_MULTILEVEL_LOOKUP=0

# установка пакетов криптопро
COPY ./linux-amd64_deb.tgz ./linux-amd64_deb.tgz
RUN tar -xf ./linux-amd64_deb.tgz
RUN cd ./linux-amd64_deb \
  && chmod +x ./install.sh \
  && ./install.sh

WORKDIR /package_linux_debug
COPY ./package_linux_debug/ ./

WORKDIR /runtime-debug-linux
COPY ./runtime-debug-linux  ./

RUN apt-get install git --no-install-recommends -y 

WORKDIR /
COPY ./NuGet.Config /root/.nuget/NuGet

RUN git clone https://github.com/CryptoProLLC/NetStandard.Library
RUN mkdir -p ~/.nuget/packages/netstandard.library
RUN cp -r ./NetStandard.Library/nugetReady/netstandard.library ~/.nuget/packages/

WORKDIR /app
COPY ./NuGet.Config ./NuGet.Config
COPY ./DotnetCoreSampleProject ./

# RUN dotnet restore "DotnetSampleProject.csproj" --configfile ./NuGet.Config
RUN dotnet restore "DotnetSampleProject.csproj" 
RUN dotnet build "DotnetSampleProject.csproj" -c Debug

CMD ["dotnet", "run"]

DotnetSampleProject.csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
	<RuntimeFrameworkVersion>3.1.3</RuntimeFrameworkVersion>
    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
    <!-- make self-contained -->
    <PackageConflictPreferredPackages>Microsoft.Private.CoreFx.NETCoreApp;runtime.linux-x64.Microsoft.Private.CoreFx.NETCoreApp;$(PackageConflictPreferredPackages)</PackageConflictPreferredPackages>
  </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="Microsoft.Private.CoreFx.NETCoreApp" Version="4.7.0-dev.21370.1" />
    </ItemGroup>
    <ItemGroup>
      <Reference Include="System.Security.Cryptography.Pkcs">
        <HintPath>/runtime-debug-linux/System.Security.Cryptography.Pkcs.dll</HintPath>
      </Reference>
      <Reference Include="System.Security.Cryptography.Xml">
        <HintPath>/runtime-debug-linux/System.Security.Cryptography.Xml.dll</HintPath>
      </Reference>
    </ItemGroup>
</Project>

NuGet.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="local coreclr" value="/package_linux_debug/" />
    <!-- <add key="local coreclr" value="../package_linux_debug" /> -->
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

image

Можете, пожалуйста, подсказать в чем может быть проблема?

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions