Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

376
Visualizações
¿Cómo montar el volumen de la ventana acoplable con el contenedor acoplable jenkins?

Tengo jenkins ejecutándose dentro del contenedor y el código fuente del proyecto en github.

Necesito ejecutar el proyecto en un contenedor en el mismo host que jenkins, pero no como docker-in-docker, quiero ejecutarlos como contenedores hermanos.

Mi tubería se ve así:

  1. saca la fuente de github
  2. construir la imagen del proyecto
  3. ejecutar el contenedor del proyecto

Lo que hago ahora es usar el socket docker del host del contenedor jenkins:

 /var/run/docker.sock:/var/run/docker.sock

Tengo un problema cuando el contenedor jenkins monta el volumen con el código fuente de /var/jenkins_home/workspace/BRANCH_NAME al contenedor del proyecto:

 volumes: - ./servers/identity/app:/srv/app

obtengo la carpeta vacía "/srv/app" en el contenedor del proyecto

Mi mejor suposición es que docker intenta montarlo desde el host y no desde el contenedor jenkins.

Entonces, la pregunta es: ¿cómo puedo configurar explícitamente el contenedor desde el cual monto el volumen?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Tuve el mismo problema al usar el contenedor acoplable de Jenkins para ejecutar otro contenedor.

Senario 1: contenedor en ejecución dentro del contenedor docker de Jenkins

Esta no es una forma recomendada, las explicaciones van aquí. Si aún necesita usar este enfoque, entonces este problema no es un problema.

Senario 2: ejecución del cliente docker dentro del contenedor Jenkins

Supongamos que necesitamos ejecutar otro contenedor ( ContenedorA ) dentro del contenedor de la ventana acoplable de Jenkins, el complemento de canalización de la ventana acoplable utilizará --volumes-from para montar el volumen del contenedor de Jenkins en el ContenedorA .

Si intenta usar --volume o -v para asignar un directorio específico en el contenedor de Jenkins a ContainerA , obtendrá un comportamiento inesperado.

Esto se debe a que --volumes o -v intentarían mapear directorios en host a ContainerA , en lugar de mapear desde directorios dentro del contenedor Jenkins . Si los directorios no se encuentran en el host , obtendrá un directorio vacío dentro de ContainerA .

En resumen, no podemos asignar un directorio específico del contenedor A al contenedor B, solo podemos montar los volúmenes completos del contenedor A al contenedor B, y no se admite el alias de volumen .

Solución

  1. Si su Jenkins se ejecuta con volumen de host, puede asignar los directorios de host al contenedor de destino.
  2. De lo contrario, puede acceder a los archivos dentro del contenedor recién creado con la misma ubicación que el contenedor de Jenkins .
over 4 years ago · Santiago Trujillo Relatório

0

probar:

 docker run -d --volumes-from <ContainerID> <YourImage>

donde el ID del contenedor es el ID del contenedor del que desea obtener los datos de mont.

También puede crear volumen, por:

 docker volume create <volname>

y asignarlo a ambos contenedores

 volumes: - <volname>:/srv/app
over 4 years ago · Santiago Trujillo Relatório

0

Compartir el calcetín entre Host y Jenkins fue mi problema porque "/var/jenkins_home" es probablemente un volumen para el contenedor de Jenkins.

Mi solución fue instalar docker dentro de un contenedor systemd sin compartir el calcetín.

 docker run -d --name jenkins \ --restart=unless-stopped \ --privileged \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v jenkins-vol:/var/lib/jenkins \ --tmpfs /run \ --tmpfs /run/lock \ ubuntu:16.04 /sbin/init

Luego instale Jenkins, Docker y Docker Compose en él.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda