docker 安装jenkins教程

1、查看可用的 jenkins 版本

访问 jenkins 镜像库地址: https://hub.docker.com/_/jenkins?tab=tags 。

可以通过 Sort by 查看其他版本的 jenkins,默认是最新版本 jenkins:latest

此外,我们还可以用 docker search jenkins 命令来查看可用版本:

NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jenkins                        DEPRECATED; use "jenkins/jenkins:lts" instead   5560      [OK]
jenkins/jenkins                The leading open source automation server       3261
jenkins/jnlp-slave             a Jenkins agent which can connect to Jenkins…   151                  [OK]
jenkins/inbound-agent                                                          78
bitnami/jenkins                Bitnami Docker Image for Jenkins                54                   [OK]
jenkins/slave                  base image for a Jenkins Agent, which includ…   48                   [OK]
jenkins/agent                                                                  46
jenkins/ssh-slave              A Jenkins slave using SSH to establish conne…   38                   [OK]
jenkins/ssh-agent              Docker image for Jenkins agents connected ov…   27
jenkins/jnlp-agent-docker                                                      8
jenkins/jnlp-agent-maven       A JNLP-based agent with Maven 3 built in        7
jenkins/pct                    Plugin Compat Tester                            5                    [OK]
jenkins/evergreen              An automatically self-updating Jenkins distr…   5
jenkins/jnlp-agent-python      A JNLP-based agent with Python built in         3
jenkins/jenkins-experimental   Experimental images of Jenkins. These images…   3                    [OK]
jenkins/jnlp-agent-alpine                                                      2
jenkins/jnlp-agent-coresdk                                                     2
rancher/jenkins-jenkins                                                        1
jenkins/jnlp-agent-node                                                        1
jenkins/jenkinsfile-runner     Jenkinsfile Runner packages                     1
jenkins/core-pr-tester         Docker image for testing pull-requests sent …   1
jenkins/ath                    Jenkins Acceptance Test Harness                 1                    [OK]
jenkins/jnlp-agent-ruby                                                        1
rancher/jenkins-slave          Jenkins Build Slave                             0                    [OK]
rancher/jenkins-jnlp-slave                                                     0

2、取长期支持版本的 jenkins 镜像

这里选择长期支持版本,下载完成后,查看镜像

$ docker pull jenkins/jenkins:lts

3、查看本地镜像

$ docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
jenkins/jenkins   lts       2a4bbe50c40b   11 months ago   441MB

4、设置宿主机目录权限,方便于容器映射

$ mkdir /mydata/jenkins
$ chown -R 1000:1000 /mydata/jenkins
$ chown -R 1000:1000 /usr/local/src/jdk/jdk1.8/ (如果需要挂载jdk,可以设置权限)
$ chown -R 1000:1000 /opt/apache-maven-3.5.0/	(如果需要maven,可以设置权限)

说明:需要修改映射的目录权限,因为当映射本地数据卷时,/mydata/jenkins/目录的拥有者为root
用户,而容器中jenkins用户的 uid 为 1000。

5、运行容器

$ docker run -p 8080:8080  \
  -v /mydata/jenkins/:/var/jenkins_home \
  -v /usr/local/java/jdk1.8.0_341:/usr/local/java/jdk1.8.0_341 \
  -v /usr/local/apache-maven-3.8.6:/usr/local/apache-maven-3.8.6 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /usr/bin/docker:/usr/bin/docker \
  -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
  --restart "always" \
  -d jenkins/jenkins:lts

如果没有授权宿主主机目录的权限,可以使用授予root权限执行容器命令

docker run -p 8080:8080  \
  -v /mydata/jenkins/:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /usr/bin/docker:/usr/bin/docker \
  -v /usr/local/java/jdk1.8.0_341:/usr/local/java/jdk1.8.0_341 \
  -v /usr/local/apache-maven-3.8.6:/usr/local/apache-maven-3.8.6 \
  -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
  -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
  --restart "always" \
  --user root \
  --privileged=true \
  -d jenkins/jenkins:lts

命令说明:
-v /mydata/jenkins/:/var/jenkins_home :挂载宿主主机目录到容器目录
-v /var/run/docker.sock:/var/run/docker.sock :挂载docker的实例
-v /usr/local/apache-maven-3.8.6/: /usr/local/apache-maven-3.8.6/:挂载宿主主机的maven
-v /usr/local/java/jdk1.8.0_341:/usr/local/java/jdk1.8.0_341 \:挂载宿主主机jdk
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai :设置java运行时JVM所需参数
–restart “always” :随着容器启动而启动
–user root :root用户执行命令
–privileged=true :授予root权限
-d jenkins/jenkins:lts:后台运行镜像

6、jenkins配置参考

Jenkins配置&插件安装&项目构建实战演示

最后

更多教程请参考:https://github.com/tuonioooo/docker

会持续更新!希望更多的喜欢docker 的伙伴们来关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Jenkins,可以使用Docker容器快速部署。下面是Docker安装Jenkins教程: 1. 安装DockerDocker Compose 如果你还没有安装DockerDocker Compose,可以根据官方文档进行安装: - Docker: https://docs.docker.com/engine/install/ - Docker Compose: https://docs.docker.com/compose/install/ 2. 创建Jenkins数据目录 在本地创建一个目录,用于存储Jenkins的数据。例如,我们创建一个目录“/var/jenkins_home”: ```bash mkdir /var/jenkins_home ``` 3. 创建docker-compose.yml文件 在本地创建一个名为docker-compose.yml的文件,并将以下内容添加到文件中: ```yaml version: '3' services: jenkins: image: jenkins/jenkins:lts container_name: jenkins ports: - "8080:8080" - "50000:50000" volumes: - /var/jenkins_home:/var/jenkins_home restart: always ``` 该文件指定了Jenkins Docker容器的配置: - 使用Jenkins官方的LTS版本镜像。 - 将容器的8080端口映射到主机的8080端口,以便可以通过浏览器访问Jenkins。 - 将容器的50000端口映射到主机的50000端口,以便可以使用Jenkins节点进行构建。 - 将主机上创建的“/var/jenkins_home”目录挂载到容器的“/var/jenkins_home”目录,以便可以持久化存储Jenkins数据。 - 容器启动后,如果停止或崩溃,将自动重启。 4. 启动Jenkins容器 在终端中,进入包含docker-compose.yml文件的目录,并运行以下命令启动Jenkins容器: ```bash docker-compose up -d ``` 执行该命令后,Docker将自动下载Jenkins镜像并启动容器。启动完成后,您可以通过浏览器访问Jenkins,地址为 http://localhost:8080。 5. 安装Jenkins插件 第一次访问Jenkins时,需要进行初始设置。按照提示进行安装和配置。 配置完成后,您可以访问Jenkins管理页面,并安装所需的插件。 6. 完成安装 安装完成后,您可以使用Jenkins进行CI/CD工作流程。 注意:在使用Jenkins进行构建时,建议使用Jenkins节点进行构建,而不是在Jenkins主机上直接构建。这可以有效分担Jenkins主机的负担,提高构建效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值