singularity-container - 奇点无法删除文件夹,只读文件系统
问题描述
我已将 docker hub 中的映像部署到奇异 2.6.0 中,并按如下方式运行容器。
singularity run -B ~/path-to-mount/:/home ~/oqfe_latest.sif -1 /home/file_R1.fastq.gz -2 /home/file_R2.fastq.gz --sample sid1
在容器上运行时,该工具会下载文件并解压缩,然后尝试删除原始文件,但无法删除,并显示以下错误:
rm -rf /data/GRCh38_full_analysis_set_plus_decoy_hla.tar.gz
rm: cannot remove '/data/GRCh38_full_analysis_set_plus_decoy_hla.tar.gz': Read-only file system
Traceback (most recent call last):
File "/oqfe", line 528, in <module>
args.cram_reference_fasta)
File "/oqfe", line 486, in main
bwa_reference_index_path = _setup_reference(DEFAULT_REFERENCE_TAR_PATH)
File "/oqfe", line 130, in _setup_reference
_run_cmd(cmd)
File "/oqfe", line 110, in _run_cmd
subprocess.check_call(cmd)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['rm', '-rf', '/data/GRCh38_full_analysis_set_plus_decoy_hla.tar.gz']' returned non-zero exit status 1.
我使用选项--sandbox 构建了容器,不幸的是错误仍然存在。任何帮助表示赞赏。
解决方案
为了修改沙箱,您必须使用--writable
您的奇异运行/执行/外壳命令。
请注意,为确保您将拥有适当的权限,文档建议以 root/with sudo 身份运行沙箱。
作为更广泛的评论,如果要修改图像上的数据,通常最好在容器运行时而不是在构建时将其挂载。当它特别大时,我也会把它放在外面,就像诱饵fasta一样。奇点图像然后简单地变成软件,并且更小更容易传输。这当然取决于用例和个人偏好,但我发现它更方便。
推荐阅读
- c# - 如何在 asp.net 网站/页面上的映射驱动器中读取文件
- c++ - 如何在 C++/C 代码中执行多个 gnuplot 命令
- java - 在不使用 BorderPane 的情况下设置节点的对齐方式?
- amazon-web-services - AWS Sagemaker 是否对 PIPE 模式下的 S3 流数据收费(用于模型训练)?
- batch-file - 批量超时命令
- python - 如何加快这个 numpy.arange 循环?
- javascript - JS - 从 DOM 访问 a(错误:“TypeError: tablex[0] is undefined”)
我想将
<th>
标头添加到一个<table>
没有一个"id"
但在<div>
一个已知的中"id"
,所以我遍历 DOM 来找到它:// search <table&
- python - 如何修复“无法使用形状为 [1000] 的张量更新形状为 [] 的变量,形状必须相等。” keras LSTM网络中的错误?
- ruby - Mitmdump 不适用于 selenium-webDriver
- rust - 如何获取与柴油的关联