Невозможно получить доступ к URL-адресу API, размещенному в Docker.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно получить доступ к URL-адресу API, размещенному в Docker.

Сообщение Anonymous »

Что мне здесь не хватает?
Я создал свой образ Docker:
sudo docker build -t meicrosoft-billing-api -f src/Meicrosoft.Billing.API/Dockerfile . --no-cache

успешно.
Затем я запускаю свой контейнер с помощью:
sudo docker run -d -e ConnectionStrings__OrderConnection="Server=[::1];Database=MeicrosoftBilling;User id=sa;Password=...;TrustServerCertificate=True" \
-p 8080:8080 \
meicrosoft-billing-api:latest

Это мой файл докеров:
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["src/Meicrosoft.Billing.API/Meicrosoft.Billing.API.csproj", "src/Meicrosoft.Billing.API/"]
COPY ["src/Meicrosoft.Billing.Application/Meicrosoft.Billing.Application.csproj", "src/Meicrosoft.Billing.Application/"]
COPY ["src/Meicrosoft.Billing.Domain/Meicrosoft.Billing.Domain.csproj", "src/Meicrosoft.Billing.Domain/"]
COPY ["src/Meicrosoft.Billing.Infra.CrossCutting/Meicrosoft.Billing.Infra.CrossCutting.csproj", "src/Meicrosoft.Billing.Infra.CrossCutting/"]
COPY ["src/Meicrosoft.Billing.Infra/Meicrosoft.Billing.Infra.csproj", "src/Meicrosoft.Billing.Infra/"]
RUN dotnet restore "./src/Meicrosoft.Billing.API/./Meicrosoft.Billing.API.csproj"
COPY . .
WORKDIR "/src/src/Meicrosoft.Billing.API"
RUN dotnet build "./Meicrosoft.Billing.API.csproj" -c $BUILD_CONFIGURATION -o /app/build

FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./Meicrosoft.Billing.API.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Meicrosoft.Billing.API.dll"]

но не могу зайти через навигатор, пишет страница не работает, типа она не запущена, а у меня контейнер работает.
С докером PS:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
container_id meicrosoft-billing-api:latest "dotnet Meicrosoft.B…" 5 minutes ago Up 5 minutes 8080-8081/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp vibrant_aryabhata

Я что-то упустил? Заранее спасибо.
Я пытался проверить, используется ли порт, но нет. Я попытался восстановить изображение без кеша, воссоздать контейнер, получить доступ к localhost:8080 и localhost:8081 и ничего. Я также получаю журналы, которые использует API:
sudo docker logsContainer_id:
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://[::]:8080
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


Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-docker
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»