docker容器如何重新启动?
例如,当docker容器有100个进程正在运行时,我们使用docker容器如何重新启动?,docker,containers,Docker,Containers,例如,当docker容器有100个进程正在运行时,我们使用docker restart container name重新启动容器,docker如何重新启动所有这100个进程 它是否会存储所有流程详细信息并重新启动它们 编辑: 以下是我想回答的具体问题: 启动容器后,我使用docker exec-it container name bash登录容器,并启动一些后台进程。然后我退出容器,执行docker重新启动或停止,然后执行启动。我会让那些手动启动的进程自动重新运行吗?Docker以内部格式存储所
docker restart container name
重新启动容器,docker如何重新启动所有这100个进程
它是否会存储所有流程详细信息并重新启动它们
编辑:
以下是我想回答的具体问题:
启动容器后,我使用
docker exec-it container name bash登录容器,并启动一些后台进程。然后我退出容器,执行docker重新启动
或停止
,然后执行启动
。我会让那些手动启动的进程自动重新运行吗?Docker以内部格式存储所有上下文、变量等。要查看Docker对容器的了解,可以运行Docker inspect并了解容器的内部情况
试着跑步:
docker-inspect--format='{{.GraphDriver.Data.LowerDir}}'容器\u-Id
它将为您提供存储容器数据的路径。但是,您需要root访问权限才能打开该文件夹
用外行的话说,Docker重启是:Docker停止,然后是Docker
开始
Docker以内部格式存储所有上下文、变量等。要查看Docker对容器的了解,可以运行Docker inspect并了解容器的内部情况
试着跑步:
docker-inspect--format='{{.GraphDriver.Data.LowerDir}}'容器\u-Id
它将为您提供存储容器数据的路径。但是,您需要root访问权限才能打开该文件夹
用外行的话说,Docker重启是:Docker停止,然后是Docker
开始
首先,根据中的指导原则,在一个容器中运行100个进程听起来不太好。只是需要记住的东西;如果它对你有用,那没关系
如果这100个进程是容器启动过程的一部分,那么在重启之后,您将让它们再次运行。这完全取决于您的容器应该做什么,以及如何做,即您的入口点在做什么
重启
是一个停止
,然后是一个启动
。所以我想你的电脑会有一个非常松散的相似之处。重新启动后,它将运行您拥有的启动程序,例如网络管理等。但它不会重启你的浏览器,除非你明确地连接你的操作系统
如果,作为容器运行的一部分,文件被写入磁盘,那么在重新启动后,您将在磁盘上保存它们。这也是您可能不应该利用的东西,除非它真的适合您的用例。这是因为容器本来就是这样的。首先,根据中的指导原则,容器中运行100个进程听起来不太好。只是需要记住的东西;如果它对你有用,那没关系
如果这100个进程是容器启动过程的一部分,那么在重启之后,您将让它们再次运行。这完全取决于您的容器应该做什么,以及如何做,即您的入口点在做什么
重启
是一个停止
,然后是一个启动
。所以我想你的电脑会有一个非常松散的相似之处。重新启动后,它将运行您拥有的启动程序,例如网络管理等。但它不会重启你的浏览器,除非你明确地连接你的操作系统
如果,作为容器运行的一部分,文件被写入磁盘,那么在重新启动后,您将在磁盘上保存它们。这也是您可能不应该利用的东西,除非它真的适合您的用例。这是因为容器应该是。Docker容器有一个主进程<代码>docker restart
执行两项操作:
它相当于docker stop
。它将SIGTERM发送到其主进程(仅限);如果在10秒内没有终止,它将发送SIGKILL。如果主进程仍有子进程
它相当于docker start
。在已经存在的容器中,它运行容器的命令,该命令通过连接其入口点和命令列表构建
请注意,这两者都集中在一个流程上。如果该流程是一个专门的流程管理器,比如supervisord,那么docker stop
序列将有希望使主管优雅地停止其管理的每个流程,这样您就没事了。如果它是一个shell脚本,启动一系列后台进程并忽略它们,那么它们将在没有任何警告的情况下被杀死。类似地,如果主容器进程知道如何启动其子进程,那么docker start
将导致再次发生这种情况,但是如果它是一个交互式shell,并且您手动启动了后台进程,则它们将丢失
Docker没有任何类型的“快照”机制。一般的模型是容器总是从一个干净和已知的状态开始,并且可以从那里重建它们所需要的任何东西。与再次尝试docker启动
相比,docker rm
停止的容器和docker运行一个新容器更适合此模型。docker容器有一个主进程<代码>docker restart
执行两项操作:
它相当于docker stop
。它将SIGTERM发送到其主进程(仅限);如果在10秒内没有终止,它将发送SIGKILL。如果主进程仍有子进程
它相当于docker start
。在已经存在的容器中,它运行容器的命令,该命令通过连接其入口点和命令列表构建
请注意,这两者都集中在一个流程上。如果这个过程