NFSボリュームを作成しました。
docker volume create --driver local --opt type=nfs --opt o=addr=preisschild-server-2.lan,rw --opt device=:/mnt/tank/MariaDB MariaDBData
これはうまくいくようですが、Dockerコンテナでボリュームを使用するとき:
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