Git 如何装载docker容器文件系统?
如何装载docker容器图像,以便使用外部工具修改它们 这意味着:从docker主机装载映像,而不在其上启动容器,作为普通文件系统。我不需要为这个运行容器 我想通过这种方式直接更新图像,然后可能会发送类似于Git 如何装载docker容器文件系统?,git,docker,Git,Docker,如何装载docker容器图像,以便使用外部工具修改它们 这意味着:从docker主机装载映像,而不在其上启动容器,作为普通文件系统。我不需要为这个运行容器 我想通过这种方式直接更新图像,然后可能会发送类似于docker commit的内容。使用lxc工具(例如在ubuntu中)非常简单,因为它可以直接在/var/lib/lxc/MYCONTAINER/rootfs中托管 我知道解决办法,但是: 我觉得使用Dockerfile上下文(和ADD)既不方便也不适合:我没有要发送的特定目录,而是使用多
docker commit
的内容。使用lxc
工具(例如在ubuntu中)非常简单,因为它可以直接在/var/lib/lxc/MYCONTAINER/rootfs中托管
我知道解决办法,但是:
- 我觉得使用
Dockerfile
上下文(和ADD
)既不方便也不适合:我没有要发送的特定目录,而是使用多种工具组合来只更改特定文件(比如rsync
)
- 即使
ADD
包含某种只适当地向图像添加新文件的算法,我仍然必须将所有文件作为build命令的docker上下文发送李>
- 我可以通过调用映像中预装的工具来更新容器映像。但是
apt get install git
安装在debian
图像上会使图像的大小加倍。git不会用于生产。使用后移除工具并不总是那么容易,而且感觉不对劲
- 我可以使用
-v
docker build的选项挂载一个充满工具的目录。。。以及它们的依赖关系。如果您需要的不仅仅是一个非常简单的bash脚本,那么这感觉很难
在您的情况下,我会运行一个容器(我知道您反对),然后,例如,将rsync文件发送到/var/lib/docker/deviceapper/mnt/CONTAINERID/rootfs,然后docker提交 即使运行了容器,您也不会真正使用它,它的图像也不会被非生产工具弄乱。所以你的解决方案很有趣。但是,假设您使用的是
deviceapper
驱动程序,我不确定使用aufs
是否容易。这是真的。不幸的是,我没有AUF的经验。祝你好运