Docker Desktop MultiContainer не работает «Отказ в соединении» - PullRequest
0 голосов
/ 28 сентября 2019

Я новичок в игре с Docker и столкнулся с тем, что по сути является глупой проблемой.

Я установил последний рабочий стол Docker на Mac, который установлен и работает.

Я попробовал мультиконтейнерное приложение в приложении Microsoft

https://docs.microsoft.com/en-us/visualstudio/mac/docker-multi-container?view=vsmac-2019

Но продолжайте получать ошибки «Отказано в соединении» при попытке его запустить

Читая другие ответы, я отклонил проблему с моим docker-compose.yml

version: '3.4'

services:
  dockerdemofrontend:
    image: ${DOCKER_REGISTRY-}dockerdemofrontend
    build:
      context: .
      dockerfile: DockerDemoFrontEnd/Dockerfile

  dockerdemoapi:
    image: ${DOCKER_REGISTRY-}dockerdemoapi
    build:
      context: .
      dockerfile: DockerDemoAPI/Dockerfile

Мой DockerDemoAPI Dockerfile

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY DockerDemoAPI/DockerDemoAPI.csproj DockerDemoAPI/
RUN dotnet restore "DockerDemoAPI/DockerDemoAPI.csproj"
COPY . .
WORKDIR "/src/DockerDemoAPI"
RUN dotnet build "DockerDemoAPI.csproj" -c Release -o /app/build

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

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

Мой DockerDemoFrontEnd DockerFile

WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY DockerDemoFrontEnd/DockerDemoFrontEnd.csproj DockerDemoFrontEnd/
RUN dotnet restore "DockerDemoFrontEnd/DockerDemoFrontEnd.csproj"
COPY . .
WORKDIR "/src/DockerDemoFrontEnd"
RUN dotnet build "DockerDemoFrontEnd.csproj" -c Release -o /app/build

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

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

Inмой интерфейсный проект, если я удаляю свой http-вызов и запускаю проект

var request = new System.Net.Http.HttpRequestMessage();
request.RequestUri = new Uri("http://DockerDemoApi/api/values/1");
var response = await client.SendAsync(request);
ViewData["Message"] += " and " + await response.Content.ReadAsStringAsync();

Он работает нормально, загружается в Safari, и я могу просматривать страницу.Если я верну HTTP, я получу

HttpRequestException: Connection refused

Я заблудился, как решить эту проблему

Спасибо

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