代码之家  ›  专栏  ›  技术社区  ›  moviss

Docker安装量。权限被拒绝

  •  9
  • moviss  · 技术社区  · 7 年前

    我在装载的docker卷中创建新文件时遇到问题。

    首先,在安装docker之后,我将我的用户添加到docker组。

    sudo usermod -aG docker $USER
    

    创建为my$USER文件夹:

    mkdir -p /srv/redis
    

    和启动容器:

    docker run -d -v /srv/redis:/data --name myredis redis
    

    mkdir /srv/redis/redisTest
    mkdir: cannot create directory ‘/srv/redis/redisTest’: Permission denied
    

    我试图搜索其他线程,但没有找到合适的解决方案。

    3 回复  |  直到 7 年前
        1
  •  11
  •   stbnrivas biocyberman    6 年前

    在我看来,问题标题并没有反映出真正的问题。

    mkdir /srv/redis/redisTest
    mkdir: cannot create directory ‘/srv/redis/redisTest’: Permission denied
    

    出现此问题的可能性很大,因为在运行时:

    docker run -d -v /srv/redis:/data --name myredis redis
    

    目录 /srv/redis 所有权变更为 root . 你可以通过

    ls -lah /srv/redis
    

    这是将外部目录装载到 docker . 要重新获得访问权限,您必须运行

    sudo chown -R $USER /srv/redis
    
        2
  •  1
  •   kenorb    6 年前

    我想 /srv/redis/redisTest 目录由内部用户创建 redis 容器,所以它属于 redis公司

    你已经检查过了吗 ls -l 看到这一点 /srv/redis/redisTest 目录属于 $USER ?

        3
  •  0
  •   Dologan    3 年前

    This answer on the DevOps Stack Exchange worked for me :

    解决方案是简单地将:z附加到[docker]run volume参数,以便:

    docker run -v /host/foobar:/src_dir /bin/bash

    变成这样:

    docker run -it -v /host/foobar:/src_dir:z /bin/bash