![NFS 볼륨을 컨테이너에 마운트하는 중에 Docker SELinux 오류가 발생했습니다.](https://linux55.com/image/144269/NFS%20%EB%B3%BC%EB%A5%A8%EC%9D%84%20%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EC%97%90%20%EB%A7%88%EC%9A%B4%ED%8A%B8%ED%95%98%EB%8A%94%20%EC%A4%91%EC%97%90%20Docker%20SELinux%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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-current
RHEL(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