version: '3.7'
services:
test:
image: ubuntu
user: nobody
entrypoint: touch /tmp-a/hai
volumes:
- a:/tmp-a
volumes:
a:
在本例中,为了避免创建Dockerfile,我手动设置了user。不过,通常情况下,我会尝试在Dockerfiles中放置根目录,当我这样做时,就不能使用docker为我装载的卷。原因是该装载的根目录是由root拥有的,除root以外的任何用户都不能在那里写入。
我的解决方法是显式设置
user: root
entrypoint
但我觉得这很不雅观。有没有办法让docker compose为我的容器设置权限,这样我的测试用例就不会失败?