Docker – 理解开始/运行

我知道我有这些图像的图像和实例 – 容器。 但。 考虑我有为.net核心应用程序创build的图像。 这是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在启动时抛出exception。

所以,现在我可以buld的形象:

 docker build . -t my-image 

然后创build并运行图像:

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

一切都如预期 – 我的dotnetapp.dll运行,然后引发exception(从应用程序,如预期)。

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

 docker start my-container 

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

 docker stop my-container docker start my-container 

运行也没有帮助:

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

因为容器已经存在。

所以,直到现在我的模式重新运行的应用程序是:

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

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

那么为什么在这种情况下start/stop不起作用呢? 如何重新启动容器,使我的dotnetapp.dll运行,而不删除容器?