从另一个泊坞窗图像创build数据容器

我有一个大约900MB的docker图像,它有一个目录/data ,我想要的所有数据都在,还有一个/data/.git目录,我想排除。

我想要创build一个数据容器(例如使用busybox图像),仅包含/data之下的/data不包括/data/.git目录

我如何以最有效的方式做到这一点?

/data不包括/data/.git只有大约130MB

所以基本上我会有数据容器大约130MB到200MB相比,其他docker图像是900MB巨大

谢谢

我将迁移到一个已命名的卷,并使用以下命令创build它:

 docker run -it --rm -v data-vol:/target your_image \ /bin/bash -c "cp -av /data/* /target" 

cp -av /data/* /target会忽略所有的点文件,所以如果你不仅仅是“.git”,例如cp -av /data/* /data/.app-files /target ,你可能需要手动添加其他文件cp -av /data/* /data/.app-files /target

如果您愿意先用/ data的完整副本创build它,然后再删除.git文件夹,那更容易:

 docker run -it --rm -v data-vol:/data your_image rm -rf /data/.git 

只要“data-vol”没有被初始化,它将由Docker的全部/数据内容创build。 然后你运行的第一个命令是清理“.git”文件夹。

一旦拥有“数据卷”卷,就可以在另一个容器中重复使用它:

 docker run -v data-vol:/data another_image