Docker Compose使共享卷可写权限被拒绝

时间:2018-04-19 08:55:31

标签: docker docker-compose

我有这个写入/ 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:

当我的服务测试:最新图像尝试写入/ 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

2 个答案:

答案 0 :(得分:5)

我认为您的容器正在以root用户之外的某个特定用户身份运行。

在您的docker-compose.yml中,您可以添加user:root
请参阅docker-compose-reference

答案 1 :(得分:0)

您可以尝试:

volumes:
      - source_data:/temp/config/ 
...
RUN chown -R source_data