Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

556
Views
Imagen de Jenkins Docker, ¿para usar montajes de enlace o no?

Estoy leyendo este fragmento de Jenkins Docker README y parece que hay una sección que se contradice con mi comprensión actual. https://github.com/jenkinsci/docker/blob/master/README.md

Me parece que dice NO usar un montaje de enlace, y luego dice que es muy recomendable usar un montaje de enlace.

NOTA: Evite usar un montaje de vinculación desde una carpeta en la máquina anfitriona en /var/jenkins_home , ya que esto podría generar problemas de permisos de archivos (el usuario utilizado dentro del contenedor podría no tener derechos sobre la carpeta en la máquina anfitriona). Si realmente necesita vincular el montaje jenkins_home, asegúrese de que el usuario de jenkins pueda acceder al directorio en el host dentro del contenedor (usuario de jenkins - uid 1000) o use el parámetro -u some_other_user con docker run.

docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts esto ejecutará Jenkins en modo separado con reenvío de puertos y volumen agregado. Puede acceder a los registros con el comando 'docker logs CONTAINER_ID' para verificar el primer token de inicio de sesión. La ID del contenedor se devolverá desde la salida del comando anterior.

Copia de seguridad de datos

Si vincula el montaje en un volumen, simplemente puede hacer una copia de seguridad de ese directorio (que es jenkins_home) en cualquier momento.

Esto es muy recomendable . Trate el directorio jenkins_home como lo haría con una base de datos; en Docker, generalmente colocaría una base de datos en un volumen.

¿Usas monturas de enlace? ¿Los recomendarías? ¿Por qué o por qué no? La documentación parece ser ambigua.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Como se comentó, la sintaxis utilizada es para un volumen :

 docker run -d -v jenkins_home:/var/jenkins_home -n jenkins ...

Eso define un volumen de Docker llamado jenkins_homes, que se creará en:
/var/lib/docker/volumes/jenkins_home .

La idea es que pueda hacer una copia de seguridad de dicho volumen fácilmente:

 $ mkdir ~/backup $ docker run --rm --volumes-from jenkins -v ~/backup:/backup ubuntu bash -c “cd /var/jenkins_home && tar cvf /backup/jenkins_home.tar .”

Y vuelva a cargarlo en otra instancia de Docker.

Esto difiere de bind-mounts , que implica crear una nueva imagen de Docker para poder montar un propietario de carpeta local por parte de su usuario local (en lugar del usuario predeterminado definido en la imagen oficial de Jenkins: 1000:1000 )

 FROM jenkins/jenkins:lts-jdk11 USER root ENV JENKINS_HOME /var/lib/jenkins ENV COPY_REFERENCE_FILE_LOG=/var/lib/jenkins/copy_reference_file.log RUN groupmod -g <yourId>jenkins RUN usermod -u <yourGid> jenkins RUN mkdir "${JENKINS_HOME}" RUN usermod -d "${JENKINS_HOME}" jenkins RUN chown jenkins:jenkins "${JENKINS_HOME}" VOLUME /var/lib/jenkins USER jenkins

Tenga en cuenta que debe declarar un nuevo volumen (aquí /var/lib/jenkins ), porque, como se ve en el número 112 de jenkinsci/docker , la ruta oficial /var/jenkins_home ya está declarada como VOLUMEN en la imagen oficial de Jenkins, y no puedes chown o chmod.

La ventaja de ese enfoque sería ver el contenido de la casa de Jenkins sin tener que usar Docker.

Lo ejecutarías con:

 docker run -d -p 8080:8080 -p 50000:50000 \ --mount type=bind,source=/my/local/host/jenkins_home_dev1,target=/var/lib/jenkins \ --name myjenkins \ myjenkins:lts-jdk11-2.190.3 sleep 3 docker logs --follow --tail 10 myjenkins
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!