Docker - 了解开始/运行

时间:2017-07-02 07:25:13

标签: c# docker .net-core

我知道我有这些图像的图像和实例 - 容器。但。 考虑我为.net核心应用程序创建了图像映像。这是docker文件。

FROM microsoft/dotnet:1.1-sdk
WORKDIR /app

COPY . ./
RUN dotnet restore

RUN dotnet publish -c Release -o out
ENTRYPOINT ["dotnet", "out/dotnetapp.dll"]

我的dotnetapp.dll在启动时抛出异常。

所以,现在我可以建立图像:

docker build . -t my-image

然后创建并运行图像:

docker run --name my-container -t my-image

所有内容都按预期运行 - 运行我的dotnetapp.dll然后抛出异常(从应用内部开始,如预期的那样)。

我想如何重新运行(重新启动)我的容器。 所以我认为start应该足够了:

docker start my-container

但没有任何反应(我的dotnetapp.dll没有运行)。我也试图停下来重新开始:

docker stop my-container
docker start my-container

运行也没有帮助:

docker run --name my-container -t my-image

因为容器已经存在。

所以,到现在为止我重新运行app的模式是:

docker rm my-container --force
docker run --name my-container -t my-image

但我不认为这是正确的方式。

那么为什么start/stop在这种情况下不起作用?如何重新启动容器以便在不删除容器的情况下再次运行dotnetapp.dll

0 个答案:

没有答案