NFS 볼륨을 컨테이너에 마운트하는 중에 Docker SELinux 오류가 발생했습니다.

NFS 볼륨을 컨테이너에 마운트하는 중에 Docker SELinux 오류가 발생했습니다.

NFS 볼륨을 만들었습니다.

docker volume create --driver local --opt type=nfs --opt o=addr=preisschild-server-2.lan,rw --opt device=:/mnt/tank/MariaDB MariaDBData

이것은 작동하는 것 같지만 도커 컨테이너에서 볼륨을 사용할 때:

docker run --name MariaDB -v MariaDBData:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=topsecretpassword --network bridged -p 3306:3306 -d mariadb:latest

나는 /usr/bin/docker-current: Error response from daemon: SELinux relabeling of /var/lib/docker/volumes/MariaDBDataNFS/_data is not allowed: "operation not supported" 출력을 얻습니다. 권한 설정을 시도했지만 작동하지 않았습니다.

추가 정보: 운영 체제: CentOS7 Docker 버전: 1.13.1

답변1

노력하다

docker run --name MariaDB -v MariaDBData:/var/lib/mysql:z -e MYSQL_ROOT_PASSWORD=topsecretpassword --network bridged -p 3306:3306 -d mariadb:latest

또는

docker run --name MariaDB -v MariaDBData:/var/lib/mysql:Z -e MYSQL_ROOT_PASSWORD=topsecretpassword --network bridged -p 3306:3306 -d mariadb:latest

또는

명령을 실행하기 전에 Selinux를 비활성화하십시오.

답변2

이것을 사용할 때는 docker-currentRHEL(7)을 사용하고 SELinux가 구성(강제 또는 허용)되어 있다고 가정합니다.

내 생각엔 다음 오류가 발생한 것 같습니다. https://bugzilla.redhat.com/show_bug.cgi?id=1492113#c0

링크된 댓글 하단에서 해결 방법을 찾을 수 있으며 여기에도 붙여넣을 수 있습니다. nocopy대신 옵션을 사용하거나 다음을 수행 z하십시오 Z.

docker run --name MariaDB -v MariaDBData:/var/lib/mysql:nocopy -e MYSQL_ROOT_PASSWORD=topsecretpassword --network bridged -p 3306:3306 -d mariadb:latest

nocopy가 무엇을 의미하는지 알아보려면 이 훌륭한 github 리뷰를 참조하세요. https://github.com/docker/docker.github.io/issues/2992#issuecomment-299596714

관련 정보