J'exécute certains services à l'intérieur des conteneurs Docker LXC sur mon serveur et je commence à faire des choses sérieuses avec eux.
Une chose que je ne sais pas, c'est comment fonctionnent les autorisations utilisateur à l'intérieur et à l'extérieur du conteneur. Si, par exemple, j'exécute MySQL dans un conteneur et que son répertoire de données est défini sur /data
, qui est un volume Docker, comment les autorisations à l'intérieur et à l'extérieur du conteneur affectent-elles les stratégies d'accès?
De toute évidence, l'idée est d'exécuter MySQL comme son propre utilisateur dans le conteneur (c'est-à-dire mysql:mysql
) et de lui donner des droits de lecture et d'écriture sur ce répertoire. Je suppose que ce serait assez simple, juste dans chmod
le répertoire, etc. Mais comment cela fonctionne-t-il en dehors du conteneur? Maintenant que j'ai ce volume partagé Docker appelé «données», comment puis-je gérer le contrôle d'accès?
Je cherche spécifiquement à pouvoir exécuter un utilisateur non privilégié en dehors du conteneur Docker qui accédera périodiquement au volume partagé MySQL et sauvegardera les données.
Comment configurer les autorisations, les utilisateurs et les groupes pour qu'un utilisateur spécifique sur l'hôte puisse lire / écrire des fichiers et des dossiers dans le volume partagé Docker?
root
peut, en passant, également exécuter des conteneurs non privilégiés . Il est important de définir un mappage pour les utilisateurs .
docker
support pour le moment), le conteneur LXC peut être exécuté en tant qu'utilisateur non privilégié. Sinon, l'root
utilisateur à l'intérieur du conteneur pourrait potentiellement éclater si le conteneur est mal configuré. C'est-à-dire que l'root
hôte estroot
dans un conteneur dans un conteneur LXC privilégié.