Mon conteneur ne peut pas accéder au dossier ou au fichier mappé et affiche les erreurs « autorisation refusée ». Que puis-je faire ?
Mon conteneur ne peut pas accéder au dossier ou au fichier mappé et affiche les erreurs « autorisation refusée ». Que puis-je faire ?
Certains articles ont été traduits automatiquement à partir de l'anglais et peuvent contenir des inexactitudes ou des erreurs de grammaire.
Symptômes
Votre conteneur ne parvient pas à accéder au dossier ou au fichier mappé sur le Synology NAS et les erreurs « autorisation refusée » s'affichent dans les journaux du conteneur. Le conteneur peut s'arrêter de manière inattendue lorsque cette erreur se produit.
Dans cet article, nous prenons un conteneur Node-RED à titre d'exemple. Vous pouvez voir le journal suivant :
Error: EACCES: permission denied, copyfile '/usr/src/node-red/node_modules/node-red/settings.js' -> '/data/settings.js'
Diagnostic
Le conteneur n'est pas autorisé à accéder au dossier ou au fichier mappé. Comme l'exemple donné dans Symptômes , le volume « /data » du conteneur n'est pas mappé à un dossier lisible et inscriptible.
Pour garantir le bon fonctionnement du conteneur, assurez-vous que Toute personne dispose au moins de l'autorisation en lecture pour le dossier ou le fichier mappé. 1 2 Les exigences spécifiques en matière d'autorisation peuvent varier en fonction de l'image. Pour plus de détails, reportez-vous à la documentation de l'image que vous utilisez.
Solution
Suivez les étapes indiquées ci-dessous pour modifier l'autorisation des dossiers ou fichiers mappés :
- Dans Container Manager > Conteneur , sélectionnez le conteneur et cliquez sur Détails .
- Dans Paramètres > Paramètres du volume , vérifiez les autorisations des dossiers ou fichiers mappés. Dans l'exemple ci-dessous, le volume /data du conteneur est mappé au dossier /docker/nodered avec autorisation en lecture/écriture .
- Dans File Station , accédez au dossier ou au fichier mappé et configurez les autorisations . Les paramètres d'autorisation dans File Station et Container Manager doivent être cohérents. En fonction des paramètres de Container Manager , configurez l'autorisation dans File Station de la manière suivante :
Par exemple, autorisez Everyone à Lire et écrire le dossier /docker/nodered .
Autorisations de Container Manager
Permissions de File Station
Lecture seule
Lecture/écriture
Lire et écrire pour tous 3
Remarques :
- Vérifiez les autorisations par défaut du dossier partagé « docker » .
- Les conteneurs s'exécuteront en tant que root ou tout autre utilisateur arbitraire sur DSM. Le compte utilisateur utilisé par le conteneur peut varier en fonction de la configuration du conteneur. Par conséquent, l'attribution d'autorisations à « Everyone » garantit que les dossiers et les fichiers mappés sont accessibles aux conteneurs, quels que soient les utilisateurs root ou arbitraires.
- Pour améliorer la sécurité des données, appliquez uniquement « l'autorisation Lecture et écriture pour tous » au sous-dossier ou au fichier mappé, plutôt qu'au dossier partagé entier. En plus de ces autorisations, vous pouvez configurer des autorisations pour l'ensemble du dossier partagé pour contrôler l'accès.