从现有虚拟机创建docker镜像

时间:2016-02-10 05:33:58

标签: docker centos virtual-machine

我需要使用CentOS和MySQL创建docker base image。但我已经有了这样的VM(没有docker)。如何从这个现有VM创建基本docker镜像,并在另一台带有docker的机器上创建它?

2 个答案:

答案 0 :(得分:7)

虽然其他评论者已正确指出将VM导入Docker并不是创建图像的预期方式,可能并且可以为您提供一个快速的起点来测试您之前的事情完全承诺。为此,您只需配置一个Linux根文件系统(在您的情况下:您的CentOS VM)并将其流式传输到docker import中,如下所示:

tar -cC [folder containing provisioned root fs] . | docker import - [image name]

Docker's base image documentation有更多信息甚至链接到脚本来创建CentOS基本图像。

答案 1 :(得分:4)

我认为你误解了docker的作用(或者我误解了你的问题)。 Docker不是VM提供者;它是一个基于libcontainer的容器管理机制。在你的情况下,我会做类似

的事情
  • 安装了yum list
  • 下载centos版本X的基本泊坞窗图像(或者您可以从头创建一个)
  • 使用yum install
  • 将此输出的子集传递到Dockerfile
  • 创建您的图片
  • 如果现有VM中存在configs / non-RPM安装,要么在容器中重建,要么在最坏的情况下重建,分享这些
  • 您的MySQL更易于管理;只要数据库文件夹/分区可以复制&与docker共享,您可以安装mysql并使用它。用postgres做了很多次,并希望mysql同样干净。

好消息是,一旦你完成这个练习,你就会有一个脚本,告诉你你是如何创建你的形象的。