简体   繁体   English

Docker安装量。 没有权限

[英]Docker mounting volume. Permission denied

I have a problem with creating new files in mounted docker volume. 我在安装的docker卷中创建新文件时遇到问题。

Firstly after installation docker i added my user to docker group. 首先在安装docker后我将我的用户添加到docker组。

sudo usermod -aG docker $USER

Created as my $USER folder: 创建为我的$ USER文件夹:

mkdir -p /srv/redis

And starting container: 并启动容器:

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

when i want to create file in /srv/redis as a user which created container I have a problem with access. 当我想在/ srv / redis中创建文件作为创建容器的用户时我遇到了访问问题。

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

I tried to search in other threads but i didn't find appropriate solution. 我试图在其他线程中搜索,但我找不到合适的解决方案。

The question title does not reflect the real problem in my opinion. 问题标题并不反映我认为的真正问题。

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

This problem occurs very likely because when you run: 很可能发生此问题,因为当您运行时:

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

the directory /srv/redis ownership changes to root . 目录/srv/redis所有权更改为root You can check that by 你可以检查一下

ls -lah /srv/redis

This is normal consequence of mounting external directory to docker . 这是将外部目录安装到docker正常结果。 To regain access you have to run 要重新获得访问权限,您必须运行

sudo chown -R $USER /srv/redis

I think /srv/redis/redisTest directory is created by user inside redis container, so it belong to redis container user. 我认为/srv/redis/redisTest目录是由用户在redis容器中创建的,因此它属于redis容器用户。

Have you already check using ls -l to see that /srv/redis/redisTest directory belong to $USER ? 您是否已使用ls -l检查/srv/redis/redisTest目录是否属于$USER

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM