我自己的boot2docker自定义没有反映到iso映像中

时间:2016-01-10 17:09:47

标签: docker boot2docker

Making your own customised 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映像创建了一个虚拟机并登录到该虚拟机。我预计vim现在可以在我的shell上使用,但事实并非如此。从构建过程控制台日志中,我看到vim已成功安装。然而,它显然不包括在iso中。

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

1 个答案:

答案 0 :(得分:1)

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

但首先你应该问问自己为什么你需要在虚拟机中使用vim,而这只是mac / windows用户的透明代理。

编辑:

由于您有充分的理由建立自己的boot2docker iso,请查看boot2docker repo

dockerfile细分:

  1. 在构建容器中安装构建依赖项
  2. 下载并编译支持aufs的Linux内核,复制到$ROOTFS
  3. $ROOTFS
  4. 下载并解压TinyCore发布内容
  5. $TCZ_DEPS中定义的TinyCore个软件包下载并解压缩到$ROOTFS
  6. $ROOTFS
  7. 构建并安装VMware工具和其他帮助程序
  8. 导出$ROOTFS作为新iso
  9. 我可能首先考虑延伸step 4,即只需从TinyCore仓库下载软件包。