如何创建具有非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
被分配给根的问题,而不是用户。
我该如何解决这个问题?
(我知道我可以访问容器,并手动执行…但我想知道是否有一个更简单的解决方案,例如编辑Dockerfile
或docker-compose.yml
)
很简单: Dockerfile
添加到Dockerfile
。 确保目录有你想要的权利。
RUN mkdir -p /opt/app/uploads