Docker: Se me denegó el permiso al intentar conectarme al socket del demonio Docker en unix:///var/run/docker.sock
Soy nuevo en Docker. Intenté usar Docker en mi máquina local (Ubuntu 16.04) con Jenkins.
Configuré un nuevo trabajo con el siguiente script de canalización.
node {
stage('Build') {
docker.image('maven:3.3.3').inside {
sh 'mvn --version'
}
}
}
Pero falla con este error:
Se me negó el permiso al intentar conectarme al socket del demonio Docker en unix:///var/run/docker.sock
Si usa jenkins
El usuario jenkins
debe ser agregado al grupo docker
:
sudo usermod -a -G docker jenkins
Luego reinicie Jenkins.
De lo contrario
Si llegas a esta pregunta de desbordamiento de pila porque recibes este mensaje de Docker, pero no usas jenkins, lo más probable es que el error sea el mismo: tu usuario sin privilegios no pertenece al grupo de Docker.
Tu puedes hacer:
sudo usermod -a -G docker $USER
Puedes comprobar que fue exitoso haciendo grep docker /etc/group
y ver algo como esto:
docker:x:998:[user]
en una de las líneas.
Luego cambie el ID de su grupo de usuarios a docker
(para evitar tener que cerrar sesión y volver a iniciarla):
newgrp docker
Mis primeras soluciones fueron:
usermod -aG docker jenkins
usermod -aG root jenkins
chmod 664 /var/run/docker.sock
Pero ninguno de ellos me funciona, probé:
chmod 777 /var/run/docker.sock
Eso funciona, pero no sé si es la decisión correcta.