我正在运行一个带有ubuntu xenial基础的奇点容器。
当我尝试使用从 echo 命令重定向到文件系统来创建文本文件时,重定向的目标被解释为在主机上而不是在容器上。
下面是命令 -
singualrity exec ubuntu_xenial_image.img echo "test" >> /mnt/test.txt
它不是在名为/mnt 的容器文件夹中创建文件测试.txt而是尝试将 test.txt 文件写入主机根文件夹/mnt/test.txt从而导致 - 无权限错误,因为显然我没有写入主机根文件夹的权限。
你知道为什么重定向到主机文件系统而不是容器文件系统,因为singularity exec命令应该工作吗?
编写的完整命令分为
singularity exec ubuntu_xenial_image.img echo "test"
,输出被重定向到主机文件系统中的>>/mnt/test.txt。
来纠正它
$ singularity exec ubuntu_xenial_image.img sh -c "echo" test ">> /mnt/test.txt"
因此,完整的命令将由容器内的 sh 解释。
除此之外,还需要验证/mnt目录的写入权限,或使用sudo执行。