. Net Core 3.1 с SoapCore - как запустить его в Docker? - PullRequest
0 голосов
/ 06 января 2020

Обычно конечная точка будет работать с: http://localhost: 5000 / Service.asmx . Как я могу получить доступ к этому от клиента, который работает в отдельном контейнере? Я попытался получить ip основного контейнера net и заменил localhost.

Это мой Dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "dotnet_soap_example.dll"]

Я запустил его с:

docker build -t dotnet_soap_example .
docker run -p 5000:5000 dotnet_soap_example

И результат:

warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
      Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {89888afb-2afd-4798-8474-9b71d743a397} may be persisted to storage in unencrypted form.
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:80
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /app

Кроме того, когда я создал проект, я сделал это с помощью:

dotnet new web

и установил пакет SoapCore NuGet:

dotnet add package SoapCore

Нужно ли добавлять эту установку NuGet в Dockerfile?

1 Ответ

0 голосов
/ 07 января 2020

Исправлено. Заменено 5000:5000 на 5000:80

...