Jos*_*ker 3 singularity-container
我正在尝试使用该命令构建一个可写奇点容器sudo singularity build --writable my_container.img docker://image_name,但出现错误Error for command "build": unknown flag: --writable。
我决定遵循 Singularity(此处)的指南,看看是否能找到我的问题。我正在使用该命令sudo singularity build --writable lolcow.img shub://GodloveD/lolcow,但遇到了同样的错误Error for command "build": unknown flag: --writable。
我使用的是奇点版本 3.6.4。
有人知道会发生什么吗?
--writable 是运行选项。那是为了构建:
sudo singularity build lolcow.img shub://GodloveD/lolcow
Run Code Online (Sandbox Code Playgroud)
对于跑步:
singularity run --fakeroot --writable lolcow.img
Run Code Online (Sandbox Code Playgroud)
您还需要 --fakeroot 在 root 可访问的位置写入。
然而,它并不持久。正如“正在将 SIF 文件转换为临时沙箱...”消息所提醒的那样。也就是说,您可以在会话期间写入,但完成后它就消失了:
$ singularity shell -f --writable lolcow.img
INFO: Converting SIF file to temporary sandbox...
WARNING: Skipping mount /etc/localtime [binds]: /etc/localtime doesn't exist in container
Singularity> echo test > /etc/banana
Singularity> cat /etc/banana
test
Singularity> exit
INFO: Cleaning up image...
$ singularity shell -f --writable lolcow.img
INFO: Converting SIF file to temporary sandbox...
WARNING: Skipping mount /etc/localtime [binds]: /etc/localtime doesn't exist in container
Singularity> cat /etc/banana
cat: /etc/banana: No such file or directory
Singularity>
Run Code Online (Sandbox Code Playgroud)
对于出于测试/开发目的的持久写入,您可以使用 --sandbox 选项,尽管您也需要以 root 身份运行它:
$ sudo singularity build --sandbox lolcow.img shub://GodloveD/lolcow
$ sudo singularity shell --writable lolcow.img
WARNING: Skipping mount /etc/localtime [binds]: /etc/localtime doesn't exist in container
Singularity> echo test > /etc/banana
Singularity> cat /etc/banana
test
Singularity> exit
$ sudo singularity shell --writable lolcow.img
WARNING: Skipping mount /etc/localtime [binds]: /etc/localtime doesn't exist in container
Singularity> cat /etc/banana
test
Singularity> exit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4868 次 |
| 最近记录: |