奇点相当于 "docker image list"
Singularity equivalent to "docker image list"
有没有等价于docker image list
的奇点?
Singularity 3.8 documentation 表示
All cache entries are named using a content hash
这在检查相同 layers/images 时有意义,但没有任何语义意义。将此与 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
另一种方法是定义一个特定的目录,其中放置所有拉取的图像,并列出其内容:
$ singularity pull --dir ~/singularity_images/ docker://ros:foxy
$ ls singularity_images/
ros_foxy.sif
简而言之,奇点让您想知道您已经下载的图像,因为内容哈希值缺乏语义。
docker image ls
的奇点等价于 ls *.sif
。
这是 Docker 和 Singularity 之间的主要区别之一:一种集中收集本地图像的服务,可供所有组成员使用,而图像作为文件可供任何人 运行 使用在安装了奇点的任何计算机上。您显示的缓存列表也特定于您的用户(通常 ~/.singularity/cache
),尽管构建操作最终会在 /root/.singularity/cache
共享缓存,因为它们需要 sudo 权限。
docker image ls
和 singularity cache list
之间的另一个重要区别是在清除奇点缓存后,您生成的 sif 仍然按预期工作。删除 docker 图像等同于删除该 sif 文件。
如果图像可能被其他人使用,则值得在文件系统上设置一个共享位置。通过这种方式,您还可以将有权创建图像的用户与只需要使用它们的用户分开。
有没有等价于docker image list
的奇点?
Singularity 3.8 documentation 表示
All cache entries are named using a content hash
这在检查相同 layers/images 时有意义,但没有任何语义意义。将此与 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
另一种方法是定义一个特定的目录,其中放置所有拉取的图像,并列出其内容:
$ singularity pull --dir ~/singularity_images/ docker://ros:foxy
$ ls singularity_images/
ros_foxy.sif
简而言之,奇点让您想知道您已经下载的图像,因为内容哈希值缺乏语义。
docker image ls
的奇点等价于 ls *.sif
。
这是 Docker 和 Singularity 之间的主要区别之一:一种集中收集本地图像的服务,可供所有组成员使用,而图像作为文件可供任何人 运行 使用在安装了奇点的任何计算机上。您显示的缓存列表也特定于您的用户(通常 ~/.singularity/cache
),尽管构建操作最终会在 /root/.singularity/cache
共享缓存,因为它们需要 sudo 权限。
docker image ls
和 singularity cache list
之间的另一个重要区别是在清除奇点缓存后,您生成的 sif 仍然按预期工作。删除 docker 图像等同于删除该 sif 文件。
如果图像可能被其他人使用,则值得在文件系统上设置一个共享位置。通过这种方式,您还可以将有权创建图像的用户与只需要使用它们的用户分开。