Контейнер Docker не может писать на томе - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть контейнер, для которого у меня есть только изображение, и нет Dockerfile. Я запускаю этот контейнер в Centos7 VM. Контейнер запускается с:

docker run -it -v /mydir:/data container_image bash

Это Centos7, поэтому есть некоторые SELinux, но обычно все доступно для записи:

# file: mydir
# owner: root
# group: root
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

Но в сеансе bash в контейнере:

bash-4.3# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
bash-4.3# ls -ald /data
drwxrwxrwx    2 root     root            20 Apr 30 15:28 /data
bash-4.3# touch /data/somefile
touch: /data/somefile: Permission denied
bash-4.3# mkdir /data/somedir
mkdir: can't create directory '/data/somedir': Permission denied

Итак, я root, каталог показывается как универсально доступный для записи, и все же я не могу писать в него ...

Расстроенный.

PS: / data - это действительно правильный каталог на хосте, я поместил в него файл маркера и увидел маркер в контейнере.

1 Ответ

0 голосов
/ 07 мая 2018

Итак, проблема действительно в SELinux, которая имеет особую обработку для контейнеров, как описано здесь . Поскольку это только для тестов, и я не могу тратить время, необходимое для понимания SELinux, исправлением было временно отключить SELinux, как показано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...