我有以下示例
version: '2'
services:
proxy:
container_name: proxy
hostname: proxy
image: nginx
ports:
- 80:80
- 443:443
volumes:
- proxy_conf:/etc/nginx
- proxy_htdocs:/usr/share/nginx/html
volumes:
proxy_conf: {}
proxy_htdocs: {}
工作正常。当我运行docker-compose up
时,它会在/var/lib/docker/volumes
中创建那些命名的卷,一切都很好。但是,从主机,我只能以root身份访问/var/lib/docker
,因为它root:root
(有意义)。我想知道是否有一种chown
主机目录的方式更合理/更安全(比如,我用来在主机上做大部分事情的相对无特权的用户)或者我只是必须手动吸吮它们chown
。我已经开始使用一些脚本来解决其他问题了,所以多加几行不会成为一个问题,但我真的很想保持自我 - 书面自动化最小化,如果可以的话 - 愚蠢错误的可能性更小。
顺便说一下,没有:如果我挂载主机目录而不是创建卷,它们会被覆盖,这意味着如果它们开始为空,它们会保持空白,并且我不会从中获取默认配置(或其他)在容器内。
额外点:我可以将卷移到更方便的位置吗?说,/home/myuser/myserverstuff/volumes
?
答案 0 :(得分:19)
最好不要直接尝试访问/var/lib/docker
内的文件。这些目录应由docker守护程序管理,不要乱用。
要访问卷内的数据,有许多选项;
ssh
(使用scp
)或SAMBA容器(例如svendowideit/samba)的容器/var/lib/docker
之外)