我知道您可以将docker容器/图像导出为.tar文件,然后在另一个系统上使用docker load导入它。问题是docker负载将映像放置到/ var / lib / ..并且主机系统的空间很小。有没有办法让docker直接从tar文件运行图像,或使用文件位置的工作目录?
否则,唯一的办法就是用符号链接欺骗docker?
答案 0 :(得分:2)
使用docker load
时,您至少需要:
/var/lib/docker/tmp
中;和图像内容的实际格式与tar文件的内容不同,并且是特定于安装的(devicemapper与aufs与overlay2安装看起来会有所不同)。无法绕过此方法而直接“注入” tar文件。
如果磁盘空间确实很紧张,我认为设置Docker注册表并使用docker pull
会需要较少的空间(我的直接猜测是图像的大小加上单个最大层的大小),并且通常更易于管理。
如果该系统是具有默认根磁盘很小的云托管系统,请考虑销毁当前实例并配置一个具有足够存储空间的新实例。