В нашей внутренней тестовой среде мы предоставляем CentOS VM с сервера на основе vSphere. Изображения являются vanilla 7.1 с пакетами и связанной конфигурацией для поддержки аутентификации через LDAP. У меня установлен Docker 1.13.1 с драйвером OverlayFS в файловой системе xfs.Разрешения на доступ к хосту на уровне докеров
FROM centos:7
RUN useradd dockeruser
USER dockeruser
VOLUME /data
На хосте:
mkdir data
echo "hello from host" > data/host-msg.txt
docker run -ti --rm -v $(pwd)/data:/data testimage bash
Внутри контейнера:
echo "hello from container" > /data/container-msg.txt
bash: /data/container-msg.txt: Permission denied
Листинг содержимого каталога внутри контейнера:
drwxr-xr-x 2 12345 13000 25 Feb 12 21:36 data
drwxr-xr-x 5 root root 360 Feb 12 21:36 dev
drwxr-xr-x 1 root root 62 Feb 12 21:36 etc
В data
каталог шоу владение в формате uid/gid, а не имя пользователя/groupname.
Я прочитал много статей и вопросов, описывающих это поведение, и variousstrategies до workaround.
Но. В моей локальной системе разработки Fedora 25 я не получаю такого поведения. Я выполняю вышеописанную процедуру, могу писать на монтируемый хост/файл данных, а в списке каталогов отображается имя пользователя/groupname.
/
drwxrwxr-x 2 dockeruser dockeruser 4096 Feb 12 04:36 data
drwxr-xr-x 5 root root 360 Feb 12 22:00 dev
drwxr-xr-x 1 root root 4096 Feb 12 22:00 etc
/data
-rw-rw-r-- 1 dockeruser dockeruser 21 Feb 12 22:04 container-msg.txt
Чтобы сделать все как можно более близкое к конфигурации лаборатории я встал на CentOS 7.1 VM на моей системе Dev через Libvirt и снова получил те же результаты - не баловаться с UID/GID отображения, пространствами имен пользователей, ничего. Запись на хост смонтированного тома изнутри контейнера Just Worked, из коробки.
Что может быть причиной такого поведения? Является ли LDAP в лабораторной виртуальной машине каким-то образом заданием разрешений на уровне файловой системы? есть ли что-то конкретное, я мог бы попросить нашу операционную команду проверить или временно отключить, чтобы попытаться устранить эту проблему?
И, наконец, и, возможно, самое важное, если проблемы с разрешениями на томах, монтируемых на хосте, для меня вообще не являются проблемами на чистой рабочей станции CentOS или Fedora, то почему она все еще остается в Докере сообщество? Есть ли какая-то конфигурация в этих установках, которая так принципиально отличается от того, что используют все остальные (в состав моей лаборатории входят лаборатории VM), что все работает?
Вы нашли решение? – Xplouder