【问题标题】:Why docker start is much faster than docker run为什么 docker start 比 docker run 快得多
【发布时间】:2017-09-24 19:29:42
【问题描述】:

我使用以这个命令开头的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 秒内负责?

注意:Mysql 映像有一个入口点,需要一分钟以上才能启动。

【问题讨论】:

    标签: mysql docker


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

    【讨论】:

    • 感谢您的回复,但这不是我的回答,我问容器从停止的容器启动和从图像运行之间有什么不同。不是那个定义!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 2014-04-21
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多