docker装置jenkins

1、检查可用的 jenkins 版别

拜访 jenkins 镜像库地址: hub.docker.com/_/jenkins?t… 。

能够通过 Sort by 检查其他版别的 jenkins,默许是最新版别 jenkins:latest

docker 安装jenkins教程

此外,咱们还能够用 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 /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/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

-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai :设置环境变量

–restart “always” :跟着容器发动而发动

–user root :root用户执行指令

–privileged=true :授予root权限

-d jenkins/jenkins:lts:后台运转镜像

6、jenkins装备参阅

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

最终

更多教程请参阅:github.com/tuonioooo/d…

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。