You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看非singularity instance start启动的Singularity容器,类似docker ps效果

解决方案

查看所有运行中的Singularity容器

Singularity和Docker架构不同,没有中心守护进程统一管理所有容器进程:singularity instance list仅会返回通过singularity instance start启动的后台服务实例,通过singularity exec/run/shell启动的容器本质是普通用户进程,未注册到实例列表,因此无法通过该命令查询。

你可以通过过滤系统进程列表获取所有运行中的Singularity容器,通用命令如下:

# 方式1:输出完整进程信息
ps aux | grep -E '[s]ingularity (exec|run|shell|instance)'

# 方式2:仅输出PID和启动命令,更简洁
pgrep -af 'singularity (exec|run|shell|instance)'

返回结果中会包含容器对应的PID、使用的镜像路径、启动命令等核心信息,你可以根据需求自行提取字段格式化输出,实现类似docker ps的展示效果。

Singularity日志存储规则

1. instance模式启动的容器

默认会将标准输出、标准错误以及启停记录存储在用户家目录下的隐藏路径:
~/.singularity/instances/logs/$(主机名)/$(用户名)/<实例名>.out
~/.singularity/instances/logs/$(主机名)/$(用户名)/<实例名>.err
启动实例时添加--log-path <自定义路径>参数可以指定日志的存储位置。

2. exec/run/shell启动的容器

Singularity默认不会为这类进程单独存储日志,所有输出会直接打印到当前终端的标准输出/错误流。如果需要留存日志,需要在启动时手动重定向输出,示例如下:

singularity exec hello-world_latest.sif sleep 600 > container.log 2>&1 &

如果需要全局记录这类容器的启停事件,可以配置系统auditd规则抓取Singularity进程的启动、退出日志, Singularity本身没有内置全局日志记录功能。

内容的提问来源于stack exchange,提问作者ms1212

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:15:05