容器解决方案

容器解决方案

您能否对正在运行的机器和容器中的 docker-machine 进行快照,以保存容器在给定时间点的运行状态?我知道 Docker 容器的主要目标是小巧、轻便和一次性使用,但我一直在寻找一种解决方案,可以对运行重量级 Java EE 应用服务器的容器或 VM 进行快照,该服务器运行单个大型单片应用程序。对于需要几分钟才能启动的应用程序(我知道,按今天的标准,这已经是很久了),如果我可以在运行状态下对其进行快照,然后根据需要从快照中恢复以将其恢复到已知的运行状态,那就太好了。

鉴于 docker-machine 在 VirtualBox 上运行,是否建议/合理/支持对 VM 进行快照并稍后启动?这会影响 docker-machine/docker cli 工具吗?

答案1

虽然不是快照,但您可以保存容器的状态和/或从工作容器创建图像。

容器解决方案

  1. Docker 导出 > NewName.tar

    • 示例:Docker 导出 c26aead81 > update020816.tar
  2. Docker 导入 GiveItAName

    • 这会将容器导入为 Docker 映像。
    • 示例:Docker 导入 - lastestbuild < update020816.tar

图像解决方案

  1. Docker 保存 -o update1.tar 更新

    • 将更新映像保存为 Update1.tar
    • 例如:Docker save -o 020816.tar ubuntu:update020816
      • 将带有标签:update020816 的 Ubuntu 映像保存为 020816.tar
  2. Docker 加载 <020816.tar

    • 确保该图像尚不存在。
    • 它将使用与导出时相同的名称命名。

虽然两种方法类似,但区别在于保存图像将保留其历史记录,而导出容器将压缩其历史记录。

相关内容