Docker Desktop, Kubernetes et MySql : impossible de monter le volume sur /var/lib/mysql/
P粉627427202
2023-09-01 21:06:53
<p>Je dois monter le répertoire /var/lib/mysql en tant que volume persistant afin que le contenu de la base de données ne soit pas perdu à chaque redémarrage de l'ordinateur (j'utilise Docker Desktop et Windows).</p>
<p>但是启动Pod时,出现以下错误:</p>
<pre class="brush:php;toolbar:false;">07/03/2023 21:10:15+00:00 [Note] [Entrypoint] : script Entrypoint pour MySQL Server 8.0.32-1.el8 commencé.
find : '/var/lib/mysql/' : opération non autorisée
find : '/var/lib/mysql' : opération non autorisée
chown : changement de propriété de '/var/lib/mysql/' : opération non autorisée
chown : changement de propriétaire de '/var/lib/mysql' : opération non autorisée</pre>
<p>这是部署文件:</p>
<pre class="brush:php;toolbar:false;">kind : StorageClass
Version api : storage.k8s.io/v1
métadonnées :
nom : stockage local
fournisseur : kubernetes.io/no-provisioner
reclaimPolicy : Conserver
volumeBindingMode : WaitForFirstConsumer
---
Version api : v1
genre : Volume persistant
métadonnées :
nom : mysql-pv
spécification :
capacité:
stockage: 500M
volumeMode : système de fichiers
Modes d'accès :
- LireÉcrireUne fois
storageClassName : stockage local
locale:
chemin : /c/data/db
noeudAffinité :
requis:
Termes du sélecteur de noeud :
- matchExpressions :
- clé : kubernetes.io/hostname
opérateur : Dans
valeurs:
- docker-bureau
---
Version api : v1
genre : PersistentVolumeClaim
métadonnées :
nom : mysql-pvc
spécification :
Modes d'accès :
- LireÉcrireUne fois
storageClassName : stockage local
ressources:
demandes :
stockage: 500M
---
Version api : v1
genre : Service
métadonnées :
nom : mysql
spécification :
sélecteur:
application : mysql
ports :
- port : 3306
Port cible : 3306
---
Version api : v1
genre : Service
métadonnées :
nom : mysql-lb
spécification :
tapez : Équilibreur de charge
sélecteur:
application : mysql
ports :
- port : 3306
Port cible : 3306
---
Version api : apps/v1
genre : StatefulSet
métadonnées :
Étiquettes:
application : mysql
nom : mysql
spécification :
Nom du service : mysql
répliques : 1
sélecteur:
matchLabels :
application : mysql
modèle:
métadonnées :
Étiquettes:
application : mysql
spécification :
conteneurs :
- image : mysql : dernière
nom : mysql
ports :
- port conteneur : 3306
ressources: {}
montages de volume :
- nom : volume-mysql
chemin de montage : /var/lib/mysql
env :
- nom : MYSQL_ROOT_PASSWORD
valeurDe :
configMapKeyRef :
clé : MYSQL_ROOT_PASSWORD
nom : mysql-env
- nom : MYSQL_ROOT_USERNAME
valeurDe :
configMapKeyRef :
clé : MYSQL_ROOT_USERNAME
nom : mysql-env
tomes :
- nom : volume-mysql
persistantVolumeClaim :
ClaimName : mysql-pvc</pre>
<p>会丢失。</p>
<p>J'ai également essayé de changer le propriétaire du répertoire en exécutant la commande chown avant de monter le volume : </p>
<pre class="brush:php;toolbar:false;">conteneurs :
- image : mysql : dernière
nom : mysql
ports :
- port conteneur : 3306
ressources: {}
commande:
- chown
- -R
- 999:999
-/var/lib/mysql
montages de volume :
- nom : volume-mysql
mountPath : /var/lib/mysql</pre>
<p>Mais au démarrage du pod, j'obtiens l'erreur suivante :
<code>chown : Impossible de lire le répertoire '/var/lib/mysql' : Opération non autorisée</code></p>
<p>Merci pour votre aide. </p>
Tutoriels populaires
Plus>
Recommandations populaires
Derniers téléchargements
Plus>
Ajouter
Sur le composant StatefulSet