Nuevo en nexus. Estamos tratando de automatizar el proceso de compilación (construir imágenes de docker y publicarlas en el repositorio de Nexus3). Mi requisito es que tengo una imagen creada con docker build -t <imagename>:<version> . ahora quiero publicar esta imagen acoplable en el repositorio de nexus usando Jenkins.
Tengo un repositorio de nexus y Jenkins Job está configurado con el complemento docker-maven y también proporcioné docker:push maven target. ¿No está seguro de cómo presionar ahora? ¿Necesito usar un script de shell con docker push <imagename>:<version> o qué pasos debo mencionar en el trabajo de CI de Jenkins?
Por favor, ayúdame..
De la pregunta no está claro si ha configurado Nexus Docker Registry o Nexus Maven Repository. Escribiste sobre "Nexus Repo", lo que implica Nexus Maven Repo.
Docker almacena imágenes en un servidor Docker. Se conecta a él usando su propio protocolo. Nexus es un paradigma diferente y no compatible tal como es.
El objetivo de push de Docker Maven Plugin se envía a un repositorio remoto de Docker, por ejemplo, DockerHub o GitLab. Eso es diferente de "implementar" artefactos de Maven en Nexus.
Docker permite obtener una imagen en forma de archivo .tar usando la docker load de Docker. Tal vez alguien creó algún tipo de "vagón", algo que permitiría a maven "resolver" estos archivos que declararías como dependencias. Pero toda la idea probablemente no sea realmente recomendable seguirla. Como dije, los enfoques de Maven y Docker son diferentes.
Editar: Entonces resulta que alguien lo hizo , y fueron los creadores de Nexus. Como señaló @masseyb. Pero después de una lectura rápida, resulta que es solo un registro de Docker normal, solo con la marca y empaquetado con Nexus. Supongo que el cartel preguntó cómo usar el repositorio Nexus Maven para almacenar imágenes de Docker.
entonces necesitas:
docker login ; antes de ejecutar Maven.<name> de <image> .push , el objetivo de envío se enviará a ese repositorio.Este artículo sobre el uso de varios registros también puede ser útil.