linux - Docker 安装卷。没有权限

标签 linux ubuntu docker permissions docker-volume

我在挂载的 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

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

最佳答案

问题标题并没有反射(reflect)出我认为的真正问题。

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

关于linux - Docker 安装卷。没有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47197493/

相关文章:

java - 连接到在 Docker 中运行的 Kafka

mongodb - 调用包裹在docker中的mongodump

python - 如何在 Linux 下执行 python cgi 脚本

linux - Linux 进程的堆栈大小与 pthread、fork 和 exec 有何关系

ubuntu - 如何使用 Ubuntu 12-04 为 vim/vi 启用折叠和 256 色支持

django - 我正在尝试使用 Heroku CLI 在 Heroku 中部署我的 django 项目我遇到安装错误

scala - 无法保持Scala应用程序在docker上运行

linux - 使用列作为参数过滤文件中的重复项(grep linux)

regex - 列出以两个不同前缀开头的文件 - linux

c - C linux 中下标值既不是数组也不是指针也不是 vector