1

我正在运行一个带有 ubuntu xenial 基础的奇点容器。

当我尝试使用从 echo 命令重定向到文件系统来创建文本文件时,重定向的目标被解释为在主机上而不是在容器上。

下面是命令——

singualrity exec ubuntu_xenial_image.img echo "test" >> /mnt/test.txt

它没有在名为 /mnt 的容器文件夹中创建文件 test.txt,而是尝试将 test.txt 文件写入主机根文件夹 /mnt/test.txt 导致 - 没有权限错误,因为显然我没有写入主机根文件夹的权限。

你知道为什么重定向到主机文件系统而不是容器文件系统,因为奇异 exec命令应该起作用吗?

4

1 回答 1

1

完整的命令,正如它所写的那样,分为

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执行。

于 2018-09-10T22:37:25.350 回答