是否有一个等价于docker image list
的奇点?奇异性3.8文档指出:
所有缓存项都使用内容哈希命名。
这在检查相同的层/图像时是有意义的,但却没有任何语义意义。将其与docker的docker image list
进行比较,后者列出了您已经拥有的具有语义意义的名称(例如ubuntu、ros)。示例:
$ singularity cache list -v
NAME DATE CREATED SIZE TYPE
496a66ed93a0244167905e 2021-07-23 18:20:26 0.57 KiB blob
6b05187eae388023ea3f9d 2021-07-23 18:20:26 0.34 KiB blob
a31c7b29f4ad2bd9467389 2021-07-23 18:20:26 27.24 MiB blob
sha256.9b0dafaadb1cd1d 2021-07-24 14:37:56 90.46 MiB library
sha256.cb37e547a142499 2021-07-23 18:10:22 55.39 MiB library
b3e2e47d016c08b3396b5e 2021-07-23 18:20:29 26.45 MiB oci-tmp
对比
$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
foxy-moveit2-tutorials latest ca302410c537 3 weeks ago 5.09GB
foxy-moveit2 latest ba2e29d36a81 3 weeks ago 4.85GB
ros galactic 717c275e4609 5 weeks ago 675MB
ros foxy 5459f09fa2f1 5 weeks ago 723MB
devrt/xserver latest 31e1d3e1887d 13 months ago 293MB
另一种方法是定义一个特定目录,其中放置所有已提取的图像,并对其内容进行lits:
$ singularity pull --dir ~/singularity_images/ docker://ros:foxy
$ ls singularity_images/
ros_foxy.sif
简而言之,奇点让您对已经下载的图像感到疑惑,因为内容散列缺乏语义意义。
发布于 2021-07-27 02:39:48
docker image ls
的奇点等价于ls *.sif
。
这是Docker和奇异点之间的关键区别之一:一种具有集中的本地映像集合的服务,所有组成员都可以使用它,而图像作为文件在任何安装了奇点的计算机上都可以运行。您显示的缓存清单也是特定于您的用户的(通常是~/.singularity/cache
),尽管构建操作最终会以/root/.singularity/cache
上的共享缓存结束,因为它们需要sudo特权。
docker image ls
和singularity cache list
的另一个重要区别是在清除了奇点缓存之后,您生成的sif仍然可以正常工作。删除停靠器图像相当于删除该sif文件。
如果图像可能被其他人使用,那么在文件系统上设置一个共享位置是值得的。通过这种方式,您还可以将拥有创建图像的权限的用户与只需要使用它们的用户分开。
https://stackoverflow.com/questions/68510166
复制相似问题