Итак, у меня есть контейнер приложений Tomcat, развернутый на 3 разных хостах Docker (один и тот же docker compose / dockerfile).Все эти хосты совместно используют логический том SAN, смонтированный в / var / opt / data / flat / APP / files.Мои контейнеры должны иметь возможность чтения или записи в эту сеть хранения данных.Однако только мой первый докер-контейнер может сделать это без проблем.В чем может быть разница между моими 3 экземплярами, которые заставляют его работать на первом, а не на трех других.Что-то, что я мог изменить на своем первом хосте, а не на других?По сей день я не могу понять, что есть.
Docker compose extract:
volumes:
- /var/opt/data/flat/APP/log:/var/opt/data/flat/APP/log:Z
- /var/opt/data/flat/APP/files:/var/opt/data/flat/APP/files
Для 3 хостов права идентичны, и у меня нет проблем с чтением / записью:
[app]$ ls -al /var/opt/data/flat/APP
drwxrwxrwx. 3 app app 1024 Apr 9 16:05 conf
drwxrwxrwx. 6 app app 4096 Apr 10 13:45 files
drwxrwxrwx. 2 app app 4096 Mar 29 14:09 log
drwxrwxrwx. 2 app app 1024 Mar 18 11:48 scripts
Из 3 контейнеров:
root@38033790df5d:/var/opt/data/flat/APP# ls -al /var/opt/data/flat/APP
total 8
drwxr-xr-x. 4 root root 30 Apr 9 15:12 .
drwxr-xr-x. 3 root root 17 Apr 9 15:12 ..
drwxrwxrwx. 6 nobody nogroup 4096 Apr 10 11:45 files
drwxrwxrwx. 2 nobody nogroup 4096 Mar 29 13:09 log
И ошибка, которую я получаю на контейнере № 2 и контейнере № 3:
root@9c8027865360:/var/opt/data/flat/APP# ls files
ls: cannot open directory 'files': Permission denied
Однако все мои контейнеры, похоже, могут записывать журналы в папку журнала безлюбая проблема.
Содержимое файла /etc/docker/daemon.json на 3 хостах:
{"userns-remap": "default"}