从现有虚拟机创建docker镜像

use*_*561 5 centos virtual-machine docker

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

ste*_*epf 9

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

tar -cC [folder containing provisioned root fs] . | docker import - [image name]
Run Code Online (Sandbox Code Playgroud)

Docker的基本映像文档包含更多信息,甚至还包含指向脚本的链接,以创建CentOS基本映像.

  • @ stepf-您能否详细解释。我知道您是正确的,但我无法理解如何创建正在运行的VM的docker映像。 (2认同)

小智 5

我认为您误解了Docker的工作(或者我误解了您的问题)。Docker不是VM提供程序;这是基于libcontainer的容器管理机制。就您而言,我会做类似的事情

  • 百胜列表安装
  • 下载centos版本X的基本docker映像(或者您可以从头开始创建一个)
  • 使用yum install将输出的一部分通过管道传递到Dockerfile中
  • 创建你的形象
  • 如果您现有的VM中有配置/非RPM安装,请在容器中重建它们,或者在最坏的情况下,共享这些
  • 您的MySQL更易于管理;只要数据库文件夹/分区可以与docker复制并共享,您就可以安装mysql并使用它。多次使用postgres进行此操作,希望mysql同样干净。

有趣的是,完成本练习后,您将拥有一个脚本,该脚本可以准确告诉您如何创建图像。

  • 询问如何将工作的 VM 映像转换为 docker 映像是一个非常合理的问题,可以帮助您快速入门。 (2认同)