Conceptos básicos de Jenkins: implementación de contenedores Docker

Ventajas de la implementación de contenedores Jenkins:

1. Seguridad. Los procesos entre contenedores están aislados entre sí. El entorno de un único contenedor es estable. La modificación de las variables de entorno en el host no afectará fácilmente los resultados de ejecución del contenedor.

2. Implementación y expansión más sencillas. Los contenedores se pueden migrar, entregar una vez y utilizar varias veces fácilmente, y pueden migrar el entorno Jenkins empaquetado a otros dispositivos.

3. El contenedor se inicia rápidamente y el entorno es fácil de restaurar. Las modificaciones de los contenedores son rastreables y las imágenes de la ventana acoplable se pueden generar periódicamente para garantizar una recuperación rápida incluso si se producen anomalías ambientales en el futuro. Además, crear instancias de contenedores es mucho más rápido que crear instancias de máquinas virtuales.

Requisitos previos:

  1. Instalar la ventana acoplable:
    1. Documento de referencia Conceptos básicos de Docker: instalación de Docker Environment_Windows10, instalación y uso de Docker_silly Blog-CSDN de Fat Fish
  2. Instale Docker Composer:
    1. Instale Python 3. Si la lista de pip está bien, puede usar pip para instalarlo: sudo pip install docker-compose
    2. Conceder permisos: chmod +x /usr/local/bin/docker-compose
    3. Compruebe si la instalación se realizó correctamente: docker-compose -v
  3. Seleccione la última imagen de jenkins; de lo contrario, el complemento de descarga de jenkins fallará porque la versión de jenkins no coincide:
    1. Ejecutar comando: docker pull jenkins/jenkins:Its 
  4. Ruta de mapeo: sudo chown -R 1000:1000 /home/docker/jenkins (usted mismo puede modificar esta ruta local y la usará más adelante)

Dos caminos:

  1. Método de ejecución de Docker, ejecute directamente la línea de comando
    1. Cree una red acoplable que pertenezca al contenedor Jenkins:
      1. Ejecutar comando: docker network create jenkins_network (nombre de red)
    2. Ejecute el contenedor jenkins:
      1. Ejecute el comando: docker run --name jenkins-in-docker --network jenkins_network (nombre de red) --publish 8080 (número de puerto de acceso, configurable): 8080 --publish 50000:50000 --volume /home/docker/ jenkins (requisito previo 4 ruta de mapeo):/var/jenkins_home --volume /usr/bin/docker:/usr/bin/docker --volume /var/run/docker.sock:/var/run/docker.sock jenkins /jenkins :es
    3. Observe la impresión del contenedor en ejecución y vea el registro "Jenkins está completamente en funcionamiento", lo que indica que Jenkins se inició correctamente.
    4. Acceso al navegador http://IP del servidor: 8080. Si no puede acceder a él, asegúrese de que su firewall abra el puerto 8080.
    5. En este momento, si Ctrl + C sale del contenedor, el servicio jenkins se cerrará. Puede agregar -d al ejecutar el comando para garantizar que el contenedor se ejecute en segundo plano, o docker start docker_jenkins (nombre del contenedor) puede reiniciarse. El contenedor.
    6. Visite el navegador en http://serverIP:8080 e ingrese a la interfaz de configuración de Jenkins. Para la configuración de Jenkins, consulte: Conceptos básicos de Jenkins: instalación de Jenkins en Linux_Blog-CSDN de Blog de Silly Fat Fish

  2. Ejecute el contenedor Jenkins usando docker-compose
    1. Crear un archivo yaml
      1. vim infraestructura-docker-compose.yml (el nombre se puede modificar)
      2. Configurar en yml
      3. versión: '3.7'
         
        servicios:
          jenkins-in-docker:
            imagen: jenkins/jenkins:lts
            nombre_contenedor: jenkins-in-docker
            privilegiado: verdadero
            reinicio: a menos que se detenga
            puertos:
              - 8080:8080
              - 50000:50000
            entorno:
              JAVA_OPTS: " -Xmx2048m -Xms1024m -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
            volúmenes:
              - . /jenkins_home:/var/jenkins_home
              - /usr/bin/docker:/usr/bin/docker
              - /var/run/docker.sock:/var/run/docker.sock
            redes:
              - jenkins_network
            implementar:
              recursos:
                límites:
                  memoria: 4096M
                  cpus: '2'
         
        redes:
          jenkins_network:
            externo: verdadero
    2. Cree un archivo sh y ejecute el comando docker-composer
      1. vim startup-infrastructure-docker-compose.sh (el nombre del script se puede modificar)
      2. Contenido del guión
      3. #!/usr/bin/env bash
         
        # 设置docker网络名称和docker-compose文件
        docker_network=jenkins_network
        docker_compose_file=infrastructure-docker-compose.yml
         
        # 输出下docker-compose文件内容
        echo "El archivo de redacción es el siguiente: "
        docker- componer -f ${docker_compose_file} config
         
        nw=$(docker network ls | grep ${docker_network} | awk '{print $1}')
        if [[ ${nw} ]]; luego
          docker-compose -f ${docker_compose_file} --compatibility up --remove-orphans -d
        else
          docker network create ${docker_network} && docker-compose -f ${docker_compose_file} --compatibility up --remove-orphans -d
        fi
    3. Conceder permisos al script sh y ejecutar el script
      1. chmod +x startup-infraestructura-docker-compose.sh
      2. ./ startup-infraestructura-docker-compose.sh
    4. Ver contenedor: docker ps
    5. Puede ver el registro de ejecución del contenedor y ejecutar el comando: docker logs -f nombre del contenedor --tail = 50. Si ve el registro "Jenkins está completamente en funcionamiento", significa que Jenkins se inició correctamente
    6. Visite http://serverIP:8080 con el navegador e ingrese a la interfaz de configuración de Jenkins. Para la configuración de Jenkins, consulte: Conceptos básicos de Jenkins: instalación de Jenkins en Linux_Blog-CSDN de Blog de Silly Fat Fish

Supongo que te gusta

Origin blog.csdn.net/xch622114/article/details/131384243
Recomendado
Clasificación