Docker 是否可以在出现错误时创建新容器?

Docker 是否可以在出现错误时创建新容器?,docker,docker-compose,containers,state,recreate,Docker,Docker Compose,Containers,State,Recreate,快速问题:是否可以在出现错误时创建新容器?我知道当容器退出时,我们可以重新启动它(给定正确的参数),但我不想重新启动,因为我不想保持容器上的状态。 感谢您的帮助。 谢谢 基本上,当您运行docker映像时,它会运行到docker容器中。这是一种抽象。因此,如果要重新创建容器,只需再次运行该图像 要运行容器,您只需提供它使用的映像:docker run 需要记住的一点是,如果您使用同一个docker映像创建多个docker容器,那么所有docker容器的功能都相同,因此,如果您想要不同的功能,那么

快速问题:是否可以在出现错误时创建新容器?我知道当容器退出时,我们可以重新启动它(给定正确的参数),但我不想重新启动,因为我不想保持容器上的状态。 感谢您的帮助。
谢谢

基本上,当您运行docker映像时,它会运行到docker容器中。这是一种抽象。因此,如果要重新创建容器,只需再次运行该图像

要运行容器,您只需提供它使用的映像:
docker run


需要记住的一点是,如果您使用同一个docker映像创建多个docker容器,那么所有docker容器的功能都相同,因此,如果您想要不同的功能,那么您需要创建新的docker映像,然后运行该映像。

这可能不理想,但您可以将docker容器设置为
--restart=no
,并将外部cron作业设置为运行以下操作:

docker-compose rm container-name
docker-compose up -d container-name
docker-inspect——格式化“{{json.State.Running}}”容器名

如果返回false,请手动运行命令重新创建容器,如:

docker-compose rm container-name
docker-compose up -d container-name

创建一个新容器会有什么不同?创建一个新容器意味着我们不会重用一个已经作为状态的容器。例如,使用logstash,管道将尝试继续处理/tmp上的文件。重新创建容器可避免此问题—一个被否决的容器。不是我。如何在容器出错时以自动方式再次运行映像?Docker运行时始终使用重新启动选项,会自动放置容器,但与失败的容器相同。我需要一个类似的方法,但它可以重新创建容器,而不仅仅是重新启动它。任何这样的工具或方法都是可行的吗?没有这样的自动方法,但如果您在kubernetes中运行容器,就可以做到这一点。