首先,我创建项目的图像,然后创建容器,然后我要启动它 但是启动容器后,它退出了 。为什么对启动的容器说“ 2秒前退出(145)”? 检查图像
我做了@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:
我正在使用本教程: This
答案 0 :(得分:2)
您缺少将文件复制到Docker映像中的部分,如ENTRYPOINT
之前的the tutorial you are following所示:
COPY app/bin/Release/netcoreapp2.2/publish/ app/
答案 1 :(得分:0)
问题与我的docker文件有关:
我创建了另一个项目 我遵循了本教程:tutorial
我在提到的链接中使用了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 .
(我不得不像提到的here从docker切换到Windows容器
我遇到了一个奇怪的错误,该错误将在this link的帮助下解决 (顺便说一下,VPN也已关闭)
建筑物图像上提到的错误。这是错误行“ RUN dotnet恢复器”
然后我在项目文件夹中的命令上执行了这两行
//创建容器
$ docker build -t (project name) .
//运行容器
$ docker run -d -p 8080:80 --name (container name) (project name)
容器已创建,我可以运行它。然后我可以从Visual Studio的2个端口看到另一个端口的结果,