• 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

437
Vistas
Uso de fabric8 docker-maven-plugin para crear imágenes en un demonio docker remoto

Estoy intentando usar el complemento docker-maven-plugin de fabric8 para crear imágenes acoplables dentro de mi canalización gitlab ci.

Fondo:

La etapa de creación de mi imagen en gitlab-ci.yml se ve así:

 build_image: stage: build image: $JAVA_IMAGE services: - name: docker:dind alias: docker-build script: - ./mvnw docker:build allow_failure: true except: *nobuild tags: - autoscaler

mi pom tiene

 <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.30.0</version> <configuration> <!-- the hostname should be the same as the service alias specified in the gitlab ci file--> <dockerHost>tcp://docker-build:2375</dockerHost> <images> <image> <name>my-image</name> <build> <contextDir>${project.basedir}/path/where/Dockerfile/lives</contextDir> <filter>false</filter> <tags> <tag>latest</tag> <tag>${project.version}</tag> </tags> </build> </image> </images> </configuration> </plugin>

Y mi Dockerfile contiene

 COPY ./some/directory/ /destination/path/within/image

Pero la compilación falla con el error.

 41014 [ERROR] DOCKER> Unable to build image [my-image] : "COPY failed: stat /var/lib/docker/tmp/docker-builder785340074/some/directory/: no such file or directory" ["COPY failed: stat /var/lib/docker/tmp/docker-builder785340074/some/directory/: no such file or directory" ]

Pregunta:

El problema parece ser que Maven, dentro del contenedor construido a partir de $JAVA_IMAGE , está usando el demonio docker del contenedor docker:dind (en tcp://docker-build:2375 ) para construir my-image (como se esperaba), pero el docker:dind container no tiene acceso a los archivos en el contenedor $JAVA_IMAGE en ./some/directory/ . ¿Hay alguna forma de darle acceso a esos archivos o de copiar esos archivos en el contenedor docker:dind ? ¿O hay una mejor manera de hacer lo que estoy tratando de hacer (manteniendo la separación entre la ventana docker:dind y la imagen de compilación $JAVA_IMAGE )?

over 3 years ago · Santiago Trujillo
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