您可以将docker映像转换/构建为完整的OS映像吗?

时间:2019-01-29 00:03:44

标签: image docker operating-system debian iso

我已经制作了一个Docker容器,其中包含一些用于部署的代码。但是,我意识到我正在处理的项目的结构更适合部署完整的ISO映像,而不是将docker运行在运行库存debian的云VM之上,从而导致不必要的虚拟化层。

我知道docker打算部署在kubernetes上,但是在深入探讨这条路线之前,是否有一种简单的方法可以将deb9 docker映像转换为完整的deb9 OS映像?像docker import的对立面?

2 个答案:

答案 0 :(得分:1)

Docker映像不包含Linux内核,并且未配置为运行完整的init系统或外出并获取其网络配置,因此无法正常工作。

以不同的方式输入:导致docker import的错配实际上并不能很好地起作用,因为生成的容器将包含太多内容,并且无法为Docker设置,这意味着您无法将容器或图像导出到虚拟机,并期望它可以在该环境中工作。

但是!如果您已经为映像编写了Dockerfile,则非常接近地说“我将从这个基本的Linux发行版开始并运行此Shell脚本来获取映像”。诸如Packer之类的工具被设置为获取基本的Linux VM映像,运行某种资源调配程序并创建新映像。如果您已经具有良好的Docker设置,并且确定VM更合适,则可能已经完成了很多工作,可以自动构建VM映像。

答案 1 :(得分:1)

您可以将docker 容器转换为完整的OS映像。 Dockerfile debian示例将是

FROM debian:stretch
RUN apt-get -y install --no-install-recommends \
  linux-image-amd64 \
  systemd-sysv

原则上,您必须安装一个内核和一个初始化系统。

完整说明github