0
votes

Docker définit le mauvais propriétaire pour le volume monté de MongoDB

J'ai une simple application Nodejs avec MongoDB à l'aide de Docker (Docker-Compose). Tout fonctionne bien, mais le volume monté de Mongo est créé sous la propriété de l'utilisateur 999.

Docker est exécuté sous la permission d'un utilisateur non root.

Voici les informations de volume monté: xxx

voici mon fichier docker-compose.yml: xxx

la prochaine fois lors de la prochaine exécution: Docker-compose -d --Build lancera cette erreur:

erreur: Impossible de se connecter à Docker Daemon sur http + Docker: // localunixsocket - est-ce en cours d'exécution?

Si la propriété du volume monté est modifiée, tout est de retour à la normale jusqu'à la prochaine fois.

Je mentionne que j'ai déjà utilisé ce type de configuration avec MySQL et Redis, mais je jamais rencontré ce problème.

Des idées sur la façon de le réparer?

merci!


0 commentaires

3 Réponses :


0
votes

sur des images basées sur Ubuntu, 999 sera le premier système possible attribué à UID pour les utilisateurs inconnus, avec d'autres identifiants comptant.

Ce que cela pourrait signifier, c'est que le répertoire que vous montage peut être un chemin réseau ou peut être copié à partir d'une autre machine, qui conduisent à l'utilisateur étant inconnu sur votre machine, conduisant à un système attribué à un système.

Notez que vous pouvez utiliser la syntaxe add --chown x: y pour ajouter des fichiers sous un utilisateur avec un identifiant utilisateur défini.


0 commentaires

1
votes

Établissement de la réponse précédente, pour éviter les problèmes comme celui-ci à l'avenir, vous pouvez envisager d'utiliser des volumes gérés plutôt que d'un répertoire spécifique de votre système de fichiers. Garde tous ces fichiers étranges hors de la vue et évite les problèmes d'autorisations étranges comme celui-ci. Voici mon configuration de Docker Compose pour Mongo:

https: // github .Com / alexmacarthur / local-docker-db / blob / maître / mongo / docker-compose.yml # L6


0 commentaires

0
votes

Cela crée également des problèmes dans la gestion de ces fichiers sur l'hôte, tels que la sauvegarde de ces fichiers en tant qu'utilisateur non privilégié, ce qui pourrait être quelque chose que l'on veut sur un PC de développeur.

Voici la solution actuelle ! p>

Vous pouvez: p> xxx pré>

ou, dans docker-composition, voici un exemple minimal: P>

mkdir data
docker-compose up


0 commentaires