场景

userA创建目录downloads,然后运行Docker时挂载该目录,--user参数设置为:$(id -u)

mkdir downloads

docker run -v $(pwd)/downloads:/downloads --user $(id -u):$(id -g) helloworld

问题

在docker容器目录无法访问downloads目录,报错权限不足

解释

当我们绑定宿主目录到镜像时,如果该目录不存在,Docker也会自动创建该目录。这种方式创建出来的目录的拥有者是root用户。如果该目录已经存在,那么其拥有者就取决于宿主配置的情况了。

由于Docker内部的用户空间和宿主的用户空间是独立的,如果镜像内运行进程的用户和宿主目录的拥有者不符合,就会出现权限问题。

解决

执行命令:

chown -R $(id -u) downloads/

相关文章:

  • 2021-10-21
  • 2021-10-31
  • 2021-11-30
  • 2021-08-14
  • 2021-09-09
  • 2021-12-24
  • 2021-10-01
  • 2021-08-22
猜你喜欢
  • 2022-12-23
  • 2021-05-12
  • 2021-10-02
  • 2022-12-23
  • 2021-12-22
  • 2021-10-14
  • 2021-10-14
相关资源
相似解决方案