我正在使用以下Dockerfile / docker-compose.yml。
我在“ / var / www”卷中包括了“ vendor”卷。运行docker-compose文件时,会自动创建“ vendor”文件夹。但是它是用chown“ root:root”创建的,而“ / var / www”内的所有其他文件夹都变成了“ www-data:www-data”。
有什么主意我可以解决这个问题,以便默认情况下www-data会阻塞“供应商”卷吗?
Dockerfile
...
RUN usermod -u 1000 www-data && groupmod -g 1000 www-data
...
docker-compose.yml:
volumes:
- ./:/var/www
- vendor:/var/www/vendor
volumes:
vendor:
“ / var / www”上的“ ls -la”显示以下内容:
drwxr-xr-x 2 www-data www-data 0 Mar 15 20:40 .
drwxr-xr-x 2 www-data www-data 4096 Mar 15 20:28 ..
drwxr-xr-x 2 www-data www-data 0 Mar 15 20:42 test
drwxr-xr-x 2 root root 4096 Mar 15 20:38 vendor
答案 0 :(得分:2)
是的,您可以使用解决方法,只需在Dockerfile中创建文件夹,权限将被保存,例如:
Dockerfile
FROM ddmitrii/support
RUN mkdir /var/www/ && chown 1000:1000 /var/www
CMD [ "sleep", "9999" ]
Docker Compose 版本:“ 3.2”
services:
srv:
image: temp
volumes:
- vendor:/var/www/
volumes:
vendor:
输出
drwxr-xr-x 3 root root 4096 Jul 5 2018 spool
drwxrwxrwt 2 root root 4096 Jul 5 2018 tmp
drwxr-xr-x 2 1000 1000 4096 Mar 15 21:06 www