如何创建具有非root用户访问权限和docker-compose的共享卷?

在我决定在Docker容器中运行web服务而不是root的可能是一个好主意,

version: '3' services: web: build: . ... volumes: - .:/opt/app # enables hot code reloading - uploads:/opt/app/uploads ... volumes: uploads: driver: local 

以使客户端中的/opt/app/uploads uploads文件夹与主机上的uploads文件夹相同。

现在,添加了一个新的非root用户,我看到了卷目录/opt/app/uploads被分配给根的问题,而不是用户。

我该如何解决这个问题?

(我知道我可以访问容器,并手动执行…但我想知道是否有一个更简单的解决方案,例如编辑Dockerfiledocker-compose.yml

很简单: Dockerfile添加到Dockerfile 。 确保目录有你想要的权利。

 RUN mkdir -p /opt/app/uploads