Maison  >  Questions et réponses  >  le corps du texte

Docker Desktop, Kubernetes et MySql : impossible de monter le volume sur /var/lib/mysql/

<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>
P粉627427202P粉627427202415 Il y a quelques jours542

répondre à tous(1)je répondrai

  • P粉103739566

    P粉1037395662023-09-02 09:02:55

    Ajouter

    securityContext:
        runAsUser: 999
        allowPrivilegeEscalation: false

    Sur le composant StatefulSet

    répondre
    0
  • Annulerrépondre