我自己对 boot2docker 的自定义没有反映到 iso 映像中
my own customizations of boot2docker are not reflected into the iso image
按照 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 中。
有人可以告诉我,我在这里错过了什么吗?
您只在生成最终 boot2docker iso 的构建容器中安装了 vim。要获得所需的结果,您需要在构建容器中的 $ROOTFS
处安装任何 packages/data。有关如何使用 apt-get
完成此操作的一些提示,请参阅此 answer.
但首先您应该问问自己,为什么您需要 vim 在一个仅作为 mac/windows 用户的透明代理的虚拟机中。
编辑:
如果您有正当理由构建自己的 boot2docker iso,请查看 boot2docker repo。
dockerfile细分:
- 在构建容器中安装构建依赖项
- 下载并编译支持aufs的linux内核,复制到
$ROOTFS
- 在
$ROOTFS
下载并提取 TinyCore 分发
- 下载并解压
$TCZ_DEPS
中定义的 TinyCore 包到 $ROOTFS
- 在
$ROOTFS
构建并安装 VMware 工具和其他助手
- 导出
$ROOTFS
作为新的 iso
我可能会首先考虑在 step 4 上进行扩展,即只需从 TinyCore 存储库下载软件包即可。
按照 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 中。
有人可以告诉我,我在这里错过了什么吗?
您只在生成最终 boot2docker iso 的构建容器中安装了 vim。要获得所需的结果,您需要在构建容器中的 $ROOTFS
处安装任何 packages/data。有关如何使用 apt-get
完成此操作的一些提示,请参阅此 answer.
但首先您应该问问自己,为什么您需要 vim 在一个仅作为 mac/windows 用户的透明代理的虚拟机中。
编辑:
如果您有正当理由构建自己的 boot2docker iso,请查看 boot2docker repo。
dockerfile细分:
- 在构建容器中安装构建依赖项
- 下载并编译支持aufs的linux内核,复制到
$ROOTFS
- 在
$ROOTFS
下载并提取 TinyCore 分发
- 下载并解压
$TCZ_DEPS
中定义的 TinyCore 包到$ROOTFS
- 在
$ROOTFS
构建并安装 VMware 工具和其他助手
- 导出
$ROOTFS
作为新的 iso
我可能会首先考虑在 step 4 上进行扩展,即只需从 TinyCore 存储库下载软件包即可。