Почему контейнер не запускается после запуска в CMD (docker)? - PullRequest
1 голос
/ 03 июля 2019

Сначала я создаю изображение проекта, затем создаю контейнер, затем я хочу его запустить, но после запуска контейнера он выходит.почему он говорит «Exited (145) 2 секунды назад» для запущенного контейнера?проверьте изображение

exited

Я сделал то, что @Jamie сказал, что это результат:

PM> docker run myimage -d
docker : Did you mean to run dotnet SDK commands? Please install dotnet SDK 
from:
At line:1 char:1
+ docker run myimage -d
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (Did you mean to...otnet SDK 
from::String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError

 https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

DockerFile:

enter image description here

Я использую этот урок: Этот

Я сделал то, что сказал @Pierre.это результат (без изменений) enter image description here

Ответы [ 2 ]

2 голосов
/ 03 июля 2019

Вам не хватает той части, где вам нужно скопировать файлы в образ Docker, как показано в учебнике, которому вы следуете до ENTRYPOINT:

COPY app/bin/Release/netcoreapp2.2/publish/ app/
0 голосов
/ 04 июля 2019

проблема была связана с моим файлом Docker:

Я создал другой проект Я следовал этому учебнику: Учебник

Я использовал файл Docker в указанной ссылке и изменилэто немного основано на потребностях моего проекта.

  FROM microsoft/dotnet:2.2-aspnetcore-runtime-nanoserver-1709 AS base
  WORKDIR /app
  EXPOSE 80
  EXPOSE 443

  FROM microsoft/dotnet:2.2-sdk-nanoserver-1709 AS build
  WORKDIR /src
  COPY ./wa2.csproj ./
  RUN dotnet restore
  COPY . .
  WORKDIR /src
  RUN dotnet build -c Release -o /app

  FROM build AS publish
  RUN dotnet publish -c Release -o /app

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

Затем я создал изображение из проекта

  $ docker build -t myimage2 -f Dockerfile .

(мне пришлось переключиться на контейнер Windows из докера, как упомянуто здесь

Я столкнулся со странной ошибкой, которая будет решена с помощью этой ссылки (Кстати, VPN также был выключен)

Упомянутая ошибка при сборкеЭто строка ошибки «RUN dotnet restor»

here

, затем я выполнил эти две строки по команде в папке проекта

// создаем контейнер

 $ docker build -t (project name) .

// запускаем контейнер

 $ docker run -d -p 8080:80 --name (container name) (project name)

контейнер создан, и я могу запустить его. Затем я могу увидеть результат с 2 порта один из Visual Studio другойиз докера

image

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