我自己的boot2docker自定义不反映到ISO映像

在制作自定义的boot2docker ISO部分之后 ,我编写了下面的Dockerfile来安装vim包:

FROM boot2docker/boot2docker RUN apt-get update && apt-get install -y vim RUN /make_iso.sh CMD ["cat", "boot2docker.iso"] 

然后成功执行这些命令:

 docker build -t my-boot2docker-img . && docker run --rm my-boot2docker-img > boot2docker.iso 

我使用这个ISO映像创build了一个虚拟机并login到它。 我期望vim现在可以在我的shell中使用,但事实并非如此。 从构build进程控制台日志,我看到vim安装成功。 但显然不包含在iso中。

有人可以告诉我,我在这里错过了什么?

您只在生成最终的boot2docker iso的构build容器中安装vim。 要获得所需的结果,您需要在构build容器中的$ROOTFS上安装任何包/数据。 有关如何使用apt-get来完成此操作的一些提示,请参阅此答案 。

但是,首先你应该问自己,为什么你需要一个虚拟机中的vim,它只能作为mac / windows用户的透明代理。

编辑:

正如你有正当的理由build立你自己的boot2docker iso,看看boot2docker回购 。

dockerfile分解了:

  1. 在构build容器中安装构build依赖关系
  2. 下载并编译一个带有aufs支持的linux内核,拷贝到$ROOTFS
  3. $ROOTFS下载并提取TinyCore发行$ROOTFS
  4. 下载并提取$TCZ_DEPS定义的TinyCore包到$ROOTFS
  5. $ROOTFS构build和安装VMware工具和其他帮助$ROOTFS
  6. $ROOTFS导出为新的iso

我可能会首先考虑扩展第4步 ,即从TinyCore回购下载包。