为什么docker start比docker run快得多

时间:2017-04-27 06:43:32

标签: mysql docker

我使用以此命令开头的mysql image

 docker run --name test-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d -p 3306:3306 mysql

当docker在后台运行时,另一个应用程序可能需要大约一分钟才能连接到端口3306。

之后,我使用docker stop test-mysql停止此容器,然后使用docker start test-mysql启动它。在第二种情况下,使用start命令,应用程序可以在5秒后连接到端口3306。

现在我使用docker commit test-mysql mysql2从已停止的容器中获取快照,并使用docker run -d mysql2运行它,但在这种情况下,应用程序可以在一分钟后连接到mysql2!

所以,

  1. 停止的容器会发生什么,可以在5秒内启动并负责但是mysql图像不能这样做?

  2. 有没有办法在运行容器后拍摄快照,可以在10秒内完成?

  3. 注意: Mysql图片的入口点需要一分钟才能启动。

1 个答案:

答案 0 :(得分:-1)

  1. 看看这里:https://stackoverflow.com/a/34783353/7719775第一个答案。
  2. 对于第二个,你应该看看https://docs.docker.com/engine/reference/commandline/commit/,但即使在这种情况下,docker start也会比docker run命令更快