Я попытался смонтировать папку, используя следующий файл компоновки Docker (частично воспроизведен, остальные не имеют значения):
version: '3'
services:
web:
build: .
environment:
- DEBUG=0
volumes:
- /usr/share/nginx/html/assets:/assets:Z
Однако, кроме cd
-ing, в папку/assets
в контейнере Docker я получаю следующую ошибку для других операций в папке (включая chmod
и chcon
):
ls: cannot open directory '.': Permission denied
UID и GID папки равны 0 (т.е. root)и UID bash в Docker также равен 0.
Однако, удалив флаг Z
, контейнер Docker может считывать содержимое с тома, но не записывать в него.
Вот вывод ls -laZ
с включенным флагом Z
:
drwx------. 2 root root system_u:object_r:container_var_run_t:s0 160 Jan 27 15:33 assets
и здесь без флага Z
:
drwxr-xr-x. 4 root root unconfined_u:object_r:httpd_sys_content_t:s0 72 Jan 23 09:01 assets
Кажется, что сФлаг Z, разрешения для моей группы и других пользователей исчезают, но это не имеет значения, потому что UID один и тот же, верно?
У меня вопрос, как я могу получить доступ на запись к смонтированному каталогу в докере?контейнер