我有这个写入/temp/config 的图像,我想将这些数据映射到主机中的共享卷中
docker-compose downversion: '2'
services:
service-test:
image: service-test:latest
container_name: service-test
volumes:
- source_data:/temp/config/
volumes:
source_data:
当我的 service-test:latest 图像尝试写入/temp/config 时,我收到 Permission Denied 错误。
问题,如何使该主机共享卷可写?
我检查了共享卷使用
docker volume inspect source_data
我注意到它没有写入功能。
这是一个基于 linux 的发行版。
更新 2:
为了验证这一点,我尝试检查共享卷的权限
我注意到它也没有写权限。
bash-4.2$ docker inspect volume service-test_source_data
[
{
"Driver": "local",
"Labels": null,
"Mountpoint": "/scratch/docker/volumes/service-test_source_data/_data",
"Name": "configservice-test_config_data",
"Options": {},
"Scope": "local"
}
]
bash-4.2$ ls -l /scratch/docker/volumes/service-test_source_data/
**drwxr-xr-x** 1 root root 0 Apr 18 01:43 _data
最佳答案
我相信您的容器正在以 root 以外的特定用户身份运行。
在你的 docker-compose.yml 你可以添加用户:root
见 docker-compose-reference
关于Docker Compose 使共享卷可写权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49916803/