我在挂载的docker卷中创建新文件时遇到问题。
首先在安装docker之后,我将我的用户添加到docker组。
sudo usermod -aG docker $USER
创建为我的$ USER文件夹:
mkdir -p /srv/redis
启动容器:
docker run -d -v /srv/redis:/data --name myredis redis
当我想在/ srv / redis中创建文件作为创建容器的用户时我遇到访问问题。
mkdir /srv/redis/redisTest
mkdir: cannot create directory ‘/srv/redis/redisTest’: Permission denied
我试图在其他线程中搜索,但我找不到合适的解决方案。
答案 0 :(得分:5)
问题标题并不反映我认为的真正问题。
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
答案 1 :(得分:1)
我认为/srv/redis/redisTest
目录是由redis
容器内的用户创建的,因此它属于redis
容器用户。
您是否已使用ls -l
查看该/srv/redis/redisTest
目录是否属于$USER
?