我有一个大约900MB的 docker 映像,它有一个目录/data
,我想要的所有数据都在其中,还有一个/data/.git
我想排除的目录。
我想创建一个数据容器(例如使用busybox图像),其中只有/data
排除/data/.git
目录下的数据
我如何以最有效的方式做到这一点?
/data
不包括只有/data/.git
大约130MB
所以基本上我将拥有大约 130MB 到 200MB 的数据容器,而另一个 900MB 巨大的 docker 映像
谢谢
我有一个大约900MB的 docker 映像,它有一个目录/data
,我想要的所有数据都在其中,还有一个/data/.git
我想排除的目录。
我想创建一个数据容器(例如使用busybox图像),其中只有/data
排除/data/.git
目录下的数据
我如何以最有效的方式做到这一点?
/data
不包括只有/data/.git
大约130MB
所以基本上我将拥有大约 130MB 到 200MB 的数据容器,而另一个 900MB 巨大的 docker 映像
谢谢
我将迁移到一个命名卷,并使用以下内容创建它:
将
cp -av /data/* /target
忽略所有点文件,因此如果您拥有的不仅仅是“.git”,您可能需要手动添加其他文件,例如cp -av /data/* /data/.app-files /target
如果您愿意先使用 /data 的完整副本创建它,然后稍后删除 .git 文件夹,那就更容易了:
只要“data-vol”尚未初始化,Docker 就会使用完整的 /data 内容创建它。然后您运行的第一个命令是清理“.git”文件夹。
一旦你有了“data-vol”卷,你可以在另一个容器中重用它: