docker装置jenkins
1、检查可用的 jenkins 版别
拜访 jenkins 镜像库地址: hub.docker.com/_/jenkins?t… 。
能够通过 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 /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 的伙伴们来关注
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。