Когда я пытаюсь смонтировать том хоста в 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