当前位置 : 主页 > 编程语言 > 其它开发 >

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

来源:互联网 收集:自由互联 发布时间:2022-06-03
linux下载和安装Jenkin在docker容器上 如今有多个Jenkins镜像,但官方最推荐的镜像是 jenkins/jenkins:lst ,这个镜像是目前Jenkins长期支持版本(Long-Term Support). 该镜像未内置Docker CLi而且没有包
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 并执行后续操作。
上一篇:树-二叉树
下一篇:没有了
网友评论