linux 无法'cd'到已装入卷中由Docker创建的目录

cl25kdpy  于 2023-01-12  发布在  Linux
关注(0)|答案(1)|浏览(173)

我正在运行以下Docker命令:

docker run -v /data/polygon/mainnet:/data ghcr.io/streamingfast/firehose-ethereum:v1.2.2-polygon-v0.3.2-fh2.1 start reader-node --common-chain-id=137 --common-network-id=137 --data-dir=/data <other args>"

注意,我将/data/polygon/mainnet挂载到/data,并且/data用作data-dir参数。
当这个容器启动时,它会在容器中的/data中创建文件和文件夹,我可以从主机上看到:

12:11PM /data/polygon/mainnet
 ❯❯❯ ls
reader  storage

然而,当我尝试cd到其中一个目录时,我被拒绝了:

12:15PM /data/polygon/mainnet/reader  ✘ 1
 ❯❯❯ cd /data/polygon/mainnet/reader/data
cd: permission denied: /data/polygon/mainnet/reader/data
12:15PM /data/polygon/mainnet/reader  ✘ 1
 ❯❯❯ sudo !!
12:15PM /data/polygon/mainnet/reader  ✘ 1
 ❯❯❯ sudo cd /data/polygon/mainnet/reader/data
sudo: cd: command not found

但是,我可以cd到'reader目录没有问题:

12:16PM /home/ubuntu
 ❮❮❮ cd /data/polygon/mainnet/reader
12:16PM /data/polygon/mainnet/reader
 ❯❯❯ ls
data  work

如果我在reader下列出文件夹,我会看到以下内容

12:17PM /data/polygon/mainnet/reader
 ❯❯❯ ls -la
total 0
drwxr-xr-x 4 root 42 Jan 11 12:11 .
drwxr-xr-x 4 root 47 Jan 11 12:11 ..
drwx------ 4 root 33 Jan 11 12:11 data
drwxr-xr-x 3 root 41 Jan 11 12:11 work

这很奇怪,因为reader目录属于root,就像data目录一样。
为什么我无法将cd导入data目录?
忍者编辑:原来运行chown -R ubuntu data解决了这个问题,我仍然想知道为什么我不能把cd转换成data,但我可以把cd转换成reader

woobm2wo

woobm2wo1#

感谢@KamilCuk让我查看data目录上的特定权限。
似乎只有data目录的所有者具有读取该目录的权限。

相关问题