Cette question est différente des questions suivantes :
Docker : Permission refusée lors de la tentative de connexion au socket du démon Docker à unix:///var/run/docker.sock. Parce qu'ils n'ont pas considéré que jenkins devait être installé comme un conteneur docker, ici je n'ai pas d'utilisateur jenkins pour donner à cet utilisateur l'accès à ce fichier.
Et aussi de celui-ci docker.sock permission denied Parce que je ne sais pas pour quel utilisateur j'ai eu cette erreur, Voici l'utilisateur root
a accès à ce fichier mais l'erreur s'est reproduite.
Voici mon problème :
Je veux lancer Docker jenkinsci/blueocean
en utilisant la commande suivante sur ubuntu :
docker container run \
--name jenkins-blueocean \
--rm \
--detach \
--publish 8181:8080 \
--publish 50000:50000 \
--volume jenkins-data:/var/jenkins_home \
--volume jenkins-docker-certs:/certs/client:ro \
--volume /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
Après avoir exécuté jenkins sur le conteneur dokcer, lorsque j'utilise l'agent comme suit :
agent {
docker {
image 'maven:3-alpine'
}
}
J'ai obtenu l'erreur suivante :
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/create?fromImage=maven&tag=3-alpine: dial unix /var/run/docker.sock: connect: permission denied
Ici, lorsque j'utilise cette commande, cela résout le problème :
chmod 777 /var/run/docker.sock
Mais je ne veux pas permettre à tous les utilisateurs d'accéder à cette prise en raison de failles de sécurité.
Je devrais également dire que l'utilisateur actuel est Root et qu'il a accès à /var/run/docker.sock
Voici quelques informations utiles :
echo $USER
root
ls -ls /var/run/docker.sock
srw-rw---- 1 root docker 0 Jul 24 14:56 /var/run/docker.sock
groups
root docker
Quel utilisateur dois-je autoriser l'accès à ce fichier ? jenkins est exécuté sur un conteneur et il n'y a pas d'utilisateur jenkins sur mon système, comment puis-je savoir quel utilisateur essaie d'accéder à ce fichier socket ? /var/run/docker.sock
et par conséquent j'ai eu cette erreur ?