Ошибка при запуске zookeeper для использования тома хоста docker "cp: невозможно создать обычный файл '/zookeeper/conf/configuration.xsl': разрешение запрещено" - PullRequest
0 голосов
/ 07 января 2020

Когда я пытаюсь смонтировать том хоста в docker контейнер zookeeper, используя - том , опции , это дает мне ошибку отказа в разрешении cp: невозможно создать обычный файл '/zookeeper/conf/configuration.xsl': разрешение отклонено .

Когда я использую --volume, он автоматически создает каталоги, если он не существует с root: root пользователем и группой. В соответствии с различными сообщениями stackoverflow я пытался предоставить права и права собственности текущему пользователю и группе для смонтированных каталогов.

Если я удаляю mount и позволяю docker использовать внутренний том, тогда zoopker запускается успешно.

Docker версия

[debezium-sprintreview]$ docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:25:41 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:24:18 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Я также пытался создать каталоги, которые нужны zookeeper с правильными разрешениями.

[user@xyz.com@host u01]$
sudo mkdir -p /u01/zookeeper-data
sudo mkdir -p /u01/kafka-data/

[user@xyz.com@host u01]$
sudo chown -R user@xyz.com /u01/zookeeper-data
sudo chown -R user@xyz.com /u01/kafka-data
sudo chmod g+w /u01/zookeeper-data
sudo chmod g+w /u01/kafka-data

[user@xyz.com@host u01]$ ls -lrt
drwxrwxr-x 6 user@xyz.com root 54 Jan  7 00:08 zookeeper-data
drwxrwxr-x 6 user@xyz.com root 57 Jan  7 00:08 kafka-data

Ошибка

[user@xyz.com@host u01]$ docker network create -d bridge my-network

[user@xyz.com@host u01]$ docker run -it --rm --name zookeeper \
> -p 2181:2181 -p 2888:2888 -p 3888:3888 \
> --network=my-network \
> --volume /u01/zookeeper-data/conf:/zookeeper/conf \
> --volume /u01/zookeeper-data/data:/zookeeper/data \
> --volume /u01/zookeeper-data/txns:/zookeeper/txns \
> debezium/zookeeper:0.10
cp: cannot create regular file '/zookeeper/conf/configuration.xsl': Permission denied
cp: cannot create regular file '/zookeeper/conf/log4j.properties': Permission denied
cp: cannot create regular file '/zookeeper/conf/zoo.cfg': Permission denied
cp: cannot create regular file '/zookeeper/conf/zoo_sample.cfg': Permission denied

Я также посмотрел на возможные местоположения, эти файлы могут уже существовать, чтобы понять, является ли это каталогом монтирования или docker разрешениями домашнего контейнера, которые могут вызвать проблемы.

[user@xyz.com@host u01]$ sudo find / -name "configuration.xsl"
/var/lib/docker/overlay2/17525d8f7df11fbffeb129bf011965cf6256b4406b572f5833f12c9f4b381cba/diff/zookeeper/conf/configuration.xsl
/var/lib/docker/overlay2/0ea52937e833bc822261526d94354ebaa3cee3b89e5bcbfbc25e6391b60ef6df/diff/zookeeper/conf/configuration.xsl
/var/lib/docker/overlay2/bee93711df0d017bdd4ac0fe356d04a0e282cd821def323f4fd2858a77f2a717/diff/zookeeper/conf/configuration.xsl
/var/lib/docker/overlay2/bee93711df0d017bdd4ac0fe356d04a0e282cd821def323f4fd2858a77f2a717/diff/zookeeper/conf.orig/configuration.xsl

[user@xyz.com@host u01]$ sudo ls -lrt /var/lib/docker/overlay2/17525d8f7df11fbffeb129bf011965cf6256b4406b572f5833f12c9f4b381cba/diff/zookeeper/conf/
total 12
-rw-r--r-- 1 1001 1001  922 Mar  6  2019 zoo_sample.cfg
-rw-r--r-- 1 1001 1001 2161 Mar  6  2019 log4j.properties
-rw-r--r-- 1 1001 1001  535 Mar  6  2019 configuration.xsl
...