另一个卷内的卷使用www-data而不是root

问题描述 投票:1回答:1

我正在使用以下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
...

码头工人,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
docker docker-compose docker-volume
1个回答
2
投票

是的,您可以使用解决方法,只需在Dockerfile中创建文件夹,权限将被保存,例如:

Dockerfile

FROM ddmitrii/support

RUN mkdir /var/www/ && chown 1000:1000 /var/www

CMD [ "sleep", "9999" ]

Docker撰写版:“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
© www.soinside.com 2019 - 2024. All rights reserved.