• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

736
Vistas
Jenkins marca unix /var/run/docker.sock: connect: permiso denegado MacOS

Estoy ejecutando Jenkins localmente y también tengo Docker instalado en mi máquina.

Tengo un trabajo de Jenkins que usa un archivo de Jenkins para

  1. Construir un proyecto experto
  2. Crear una imagen acoplable
  3. Implementar en el centro de la ventana acoplable.

Tengo todos los complementos de Docker instalados en Jenkins, pero cuando se ejecuta el paso de compilación, obtengo...

 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/build? buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=w6ypm3t1b0qefyxh9omfvntru&shmsize=0&t=app-web&target=&ulimits=null&version=1: dial unix /var/run/docker.sock: connect: permission denied

Parece que no puedo cambiar los permisos en

 lrwxr-xr-x 1 macuser staff 72 Jun 30 20:36 docker.sock -> /Users/john/Library/Containers/com.docker.docker/Data/docker.sock

Cualquier ayuda muy apreciada

about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su principal problema porque el usuario que se usa a través de Jenkins, probablemente llamado jenkins , no tiene el permiso suficiente para ejecutar Docker.

Básicamente, debe hacer que el usuario se una al grupo de staff .

Respondí esta pregunta hace unos días, la segunda mitad de la respuesta es lo que está buscando: ¿Cómo agregar un usuario a un grupo desde la línea de comandos de Mac OS X?

Pruébelo y avíseme si no funciona para usted con el resultado que obtuvo al intentar agregar el usuario al grupo de staff

about 3 years ago · Santiago Trujillo Denunciar

0

Con Docker para Mac, dentro del contenedor encontrará que el socket de Docker es propiedad de root (esto es parte de la máquina virtual LinuxKit integrada). Utilizo el siguiente punto de entrada dentro de mi contenedor de Jenkins y ejecuto el punto de entrada como raíz, para reconfigurar automáticamente el grupo acoplable dentro del contenedor para que coincida con la identificación del grupo del archivo de socket, y luego paso desde la raíz al usuario de jenkins antes de ejecutar Jenkins. aplicación en sí. Esto tiene la ventaja de ser portátil, capaz de ejecutarse en cualquier escritorio o entorno de servidor, sin codificar el GID de la ventana acoplable en el contenedor:

 #!/bin/sh # By: Brandon Mitchell <public@bmitch.net> # License: MIT # Source Repo: https://github.com/sudo-bmitch/jenkins-docker set -x # configure script to call original entrypoint set -- tini -- /usr/local/bin/jenkins.sh "$@" # In Prod, this may be configured with a GID already matching the container # allowing the container to be run directly as Jenkins. In Dev, or on unknown # environments, run the container as root to automatically correct docker # group in container to match the docker.sock GID mounted from the host. if [ "$(id -u)" = "0" ]; then # get gid of docker socket file SOCK_DOCKER_GID=`ls -ng /var/run/docker.sock | cut -f3 -d' '` # get group of docker inside container CUR_DOCKER_GID=`getent group docker | cut -f3 -d: || true` # if they don't match, adjust if [ ! -z "$SOCK_DOCKER_GID" -a "$SOCK_DOCKER_GID" != "$CUR_DOCKER_GID" ]; then groupmod -g ${SOCK_DOCKER_GID} -o docker fi if ! groups jenkins | grep -q docker; then usermod -aG docker jenkins fi # Add call to gosu to drop from root user to jenkins user # when running original entrypoint set -- gosu jenkins "$@" fi # replace the current pid 1 with original entrypoint exec "$@"

Puede encontrar el ejemplo completo, incluido el Dockerfile para instalar docker y gosu dentro de la imagen, en: https://github.com/sudo-bmitch/jenkins-docker

El mismo concepto se encuentra en un script de fix-perms en mi imagen base que se puede aplicar a otros escenarios: https://github.com/sudo-bmitch/docker-base

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda