考虑以下失败的docker-compose.yml:
version: '3.7'
services:
test:
image: ubuntu
user: nobody
entrypoint: touch /tmp-a/hai
volumes:
- a:/tmp-a
volumes:
a:
在示例中,为了避免创建Dockerfile,我手动设置了用户。不过,通常情况下,我会尝试在Dockerfile中删除根目录,而当我这样做时,将无法使用为我安装的docker-compose卷。原因是该挂载的根目录由root拥有,除root以外的任何用户都无法在其中写入。
我的解决方法是在docker-compose中显式设置user: root
,然后手动更改目录的权限并在entrypoint
中删除特权,但是我发现这很不雅致。有没有办法为我的容器设置docker-compose set权限,以使我的测试用例不会失败?