Maison  >  Article  >  Opération et maintenance  >  Avez-vous besoin des autorisations root pour utiliser Docker ?

Avez-vous besoin des autorisations root pour utiliser Docker ?

WBOY
WBOYoriginal
2022-06-27 10:33:458204parcourir

L'utilisation de Docker nécessite des autorisations root. Les utilisateurs ordinaires sans autorisations root ne pourront pas utiliser Docker ; si vous n'avez pas d'autorisations root, vous pouvez utiliser sudo pour obtenir des autorisations d'administrateur, exécuter des commandes Docker ou ajouter l'utilisateur actuel au Docker. groupe d'utilisateurs, alors actuellement L'utilisateur a l'autorisation d'accéder au "socket Unix" et peut ensuite exécuter les commandes liées au docker.

Avez-vous besoin des autorisations root pour utiliser Docker ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.

Avez-vous besoin des autorisations root pour utiliser Docker ?

Vous avez besoin des autorisations root pour exécuter Docker ?

Pour résoudre le problème selon lequel les utilisateurs non root n'ont pas l'autorisation d'exécuter les commandes Docker, la méthode est la suivante :

Méthode 1 :

Utilisez sudo pour obtenir les droits d'administrateur et exécuter les commandes Docker. utilisé plusieurs fois lors de l'exécution de commandes docker via des scripts. Limitations

Méthode 2 :

Lorsque le démon docker est démarré, le groupe d'utilisateurs nommé docker aura l'autorisation de lire et d'écrire les sockets Unix par défaut, il suffit donc de créer le docker groupe d'utilisateurs et ajoutez l'utilisateur actuel au groupe d'utilisateurs Docker, puis l'utilisateur actuel a l'autorisation d'accéder au socket Unix, et peut ensuite exécuter des commandes liées à Docker

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组

Connaissances étendues :

Le démon Docker a des autorisations root, c'est-à-dire que l'utilisateur qui exécute le démon Docker est toujours root. Nous devons apporter les corrections suivantes :

Avez-vous besoin des autorisations root pour utiliser Docker ?

C'est-à-dire que nous devons installer Docker sous un utilisateur non root et démarrer le démon Docker. Ce mode d'installation et de fonctionnement est appelé mode "RootLess". Peut être installé mais il y a des prérequis : le mode "RootLess" a été introduit en tant que fonctionnalité expérimentale dans Docker Engine v19.03 et est officiellement disponible à partir de Docker Engine v20.10.

Prérequis

Vous devez installer les outils newuidmap et newgidmap shadow-utils, c'est-à-dire que la configuration de /etc/subuid et /etc/subuid ci-dessus nécessite la prise en charge de ces deux outils. Avant l'installation, utilisez Yum List Installed Shadow-Utils pour confirmer s'il a été installé ou s'il est fourni avec le système d'exploitation. S'il existe, ne l'installez pas, mais la configuration de la troisième étape est requise.

Étape 1 : Ajoutez une source d'installation du package logiciel, qui contient shadow-utils46-newxidmap

curl -o /etc/yum.repos.d/vbatts-shadow-utils-newxidmap-epel-7.repo https://copr.fedorainfracloud.org/coprs/vbatts/shadow-utils-newxidmap/repo/epel-7/vbatts-shadow-utils-newxidmap-epel-7.repo

Étape 2 : yum install -y shadow-utils46-newxidmap

Étape 3 : Dans /etc/sysctl, modifiez le paramètre système user. .max_user_namespaces = 28633 dans le fichier de configuration. Une fois la modification terminée, exécutez la commande sysctl --system pour que les paramètres prennent effet.

echo user.max_user_namespaces=28633 >> /etc/sysctl.d/userns.conf;
sudo sysctl -p /etc/sysctl.d/userns.conf;
echo user.max_user_namespaces=28633 >> /etc/sysctl.d/userns.conf;
sudo sysctl -p /etc/sysctl.d/userns.conf;

La valeur par défaut de ce paramètre est 0, ce qui signifie que les utilisateurs du système d'exploitation ne sont pas autorisés à disposer d'espace subuid. Une fois l'opération ci-dessus terminée, utilisez la commande sysctl --all --pattern user_namespaces pour vérifier les résultats de la modification.

Apprentissage recommandé : "Tutoriel vidéo Docker"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn