启动码头图像的时间在哪里?

时间:2017-01-23 16:40:02

标签: docker dockerfile docker-machine

我通过powershell运行了一些命令,编制了一个(大约)平均时间的列表,而且我不知道花费的时间在哪里。

Measure-Command {docker run}:~50毫秒

Measure-Command {node -v}:~50毫秒

Measure-Command {docker run node:latest}:~600毫秒。

我更希望docker run node:latest命令为100-200ms。

我怀疑花费了额外的时间来检查更新的最新消息。文件,但我不太了解恶魔是否确定。

我如何能够获得100-200毫秒的加载时间?

1 个答案:

答案 0 :(得分:2)

没有进一步参数的

docker run会打印帮助文本并退出。

没有其他参数的

node -v打印版本号并退出。

docker run node:latest必须做很多事情,包括但不限于:

  • node:latest标记解析为图片ID
  • 加载图像文件系统层
    • 在这种情况下,似乎没有其他层,但在其他情况下,可能会有一系列其他文件系统层加载并组成最终的文件系统视图
  • 创建容器
  • 为容器的写入/ CoW操作创建读/写fs层
  • 运行容器
  • 在容器中找到node程序并执行它
  • 在这种情况下,它只是退出,因为没有其他事可做了
  • 退出时清理操作