ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux通过docker容器下载和安装Jenkin

2022-05-31 18:03:43  阅读:171  来源: 互联网

标签:容器 -- Jenkin certs linux jenkins docker Docker


linux下载和安装Jenkin在docker容器上

如今有多个Jenkins镜像,但官方最推荐的镜像是jenkins/jenkins:lst,这个镜像是目前Jenkins长期支持版本(Long-Term Support). 该镜像未内置Docker CLi而且没有包含常用的Blue Ocean 插件和特性,想要使用所有Jenkins特性需要执行下列步骤。

注:历史版本的jenkins可以通过查看 Tag

开始

  1. 打开命令行
  2. 在docker中使用docker network create创建bridge network:

    docker network create jenkins

  3. 为了在Jenkins节点内部执行Docker命令,下载并运行docker:dind Docker镜像并使用docker run命令:

    docker run
    --name jenkins-docker
    --rm
    --detach
    --privileged
    --network jenkins
    --network-alias docker
    --env DOCKER_TLS_CERTDIR=/certs
    --volume jenkins-docker-certs:/certs/client
    --volume jenkins-data:/var/jenkins_home
    --publish 2376:2376
    docker:dind
    --storage-driver overlay2

注解

  • --name jenkins-docker: (可选)指定容器名称,默认情况下,docker会生成一个独一名称。
  • --rm : (可选)当容器关闭时自动移除Docker容器(Docker镜像实例)
  • --detach : 后台运行Docker容器。可以通过过docker stop jenkins-docker来关闭。
  • --privileged : 在docker中运行docker管理员权限才能运行。
  • --network jenkins : 该步骤对应之前创建的桥接网络
  • --network-alias docker : 使得在jenkin网络下主机名为docker的容器其内部运行容器正常工作。
  • --env DOCKER_TLS_CERTDIR=/certs : 使TLS在docke服务中工作,通过有特权容器,推荐选项,即使该操作需要共享数据卷。该环境变量控制着Docker TLS证书管理的根目录。
    映射位于容器内/var/jenkins_home目录到Docker数据卷。
  • --volume jenkins-docker-certs:/certs/client : 映射位于容器内的/certs/client目录到上述创建的名为jenkins-docker-certs的数据卷中。
  • --volume jenkins-data:/var/jenkins_home : 数据卷名为jenkin-data。这会允许其他被该容器控制的Docker容器进程从jenkins挂在数据。
  • --publish 2376:2376 :(可选)暴露docker进程端口到主机,该指令有利于控制内嵌docker进程。
  • docker:dind : 这个进项子啊运行前需要执行命令: docker image pull docker:dind.
  • --storage-driver overlay: 容器数据卷的储存驱动。
  1. 通过下列两个步骤可以客制化官方的镜像:
    • 创建Dockerfile

FROM jenkins/jenkins:2.332.3-jdk11
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture)
signed-by=/usr/share/keyrings/docker-archive-keyring.asc]
https://download.docker.com/linux/debian
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean:1.25.3 docker-workflow:1.28"

  • 从该dockerfile创建一个新的镜像在赋予一个名字,如"myjenkins-blueocean:2.332.3-1"

    docker build -t myjenkins-blueocean:2.332.3-1 .

  1. 运行自己的docker build -t myjenkins-blueocean:2.332.3-1 .镜像使用下述命令:

    docker run
    --name jenkins-blueocean
    --restart=on-failure
    --detach
    --network jenkins
    --env DOCKER_HOST=tcp://docker:2376
    --env DOCKER_CERT_PATH=/certs/client
    --env DOCKER_TLS_VERIFY=1
    --publish 8080:8080
    --publish 50000:50000
    --volume jenkins-data:/var/jenkins_home
    --volume jenkins-docker-certs:/certs/client:ro
    myjenkins-blueocean:2.332.3-1

  2. 在浏览器上访问 http://localhost:8080 并执行后续操作。

标签:容器,--,Jenkin,certs,linux,jenkins,docker,Docker
来源: https://www.cnblogs.com/realms/p/16331464.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有