【Docker】之安装部署Jenkins
前言
记录下 Docker 下 Jenkins 的安装。
DockerHub: https://hub.docker.com/r/jenkins/jenkins/
查看docker的jenkins镜像版本
#查看jenkins版本命令
docker search jenkins
远程拉取镜像
#拉取镜像命令(不标注表示最新的)
docker pull jenkins/jenkins
docker pull jenkinsci/blueocean (推荐)
docker pull jenkins/jenkins:2.289.1-lts-centos
创建挂载目录
挂载目录用于映射jenkins的jenkins_home下的配置文件等信息。
#本文的挂载目录是home下
mkdir /home/jenkins
重点:此目录需要设置权限,否则启动容器报错权限错误
#修改权限(1000:1000 是UID和GID)
chown -R 1000:1000 /home/jenkins/
chmod 777 /var/run/docker.sock
安装 maven
wget https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3-bin.tar.gz /usr/local
ln -s /usr/local/apache-maven-3.6.3 maven
修改配置文件settings.xml
,使用了阿里云的Maven仓库 (可选)cd apache-maven-3.6.3/conf
vi settings.xml
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
添加环境变量 vi /etc/profile
export M2_HOME=/usr/local/maven
export PATH=$PATH:${M2_HOME}/bin
source /etc/profile
启动容器
docker run -d --name=myjenkins \
-p 8000:8080 -p 50000:50000 \
--restart=unless-stopped \
--privileged=true \
-u root \
-e TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime \
-v /home/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:2.289.1-lts-centos
–network docker-net
–cpus 2
–memory 2G \
-p
: 映射端口,宿主机端口:容器端口-v
: 挂载,宿主机目录:容器目录--name
: 自定义容器名-u
: 权限用户名--privileged
: 使用该参数,container内的root拥有真正的root权限,否则,container(容器)内的root只是外部的一个普通用户权限,privileged启动的容器可以看到很多host上的设备,并且可以执行mount,甚至允许你在docker容器内启动docker容器。-
-p 50000:50000
: 如果您在其他机器上设置了一个或多个基于JNLP的Jenkins代理程序,而这些代理程序又与 jenkinsci/blueocean 容器交互(充当“主”Jenkins服务器,或者简称为“Jenkins主”), 则这是必需的。默认情况下,基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主站进行通信。
docker run -d --name=myjenkins \
--net mynet --ip 172.172.0.12 \
-p 8000:8080 -p 50000:50000 \
--restart=unless-stopped \
--privileged=true \
-u root \
-e TZ="Asia/Shanghai" \
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
-v /etc/localtime:/etc/localtime \
-v /root/docker_data/jenkins:/var/jenkins_home \
-v /usr/java/jdk1.8.0_311-amd64:/usr/local/java \
-v /usr/local/maven:/usr/local/maven \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
jenkins/jenkins:2.318-jdk11
配置文件
进入刚才设置的挂载目录 /home/jenkins 内:
- 首先修改hudson.model.UpdateCenter.xml配置文件
#默认路径 http://updates.jenkins-ci.org/update-center.json #改成路径 http://mirror.xmission.com/jenkins/updates/update-center.json
- 完成后修改 /updates/default.json 配置文件
#默认路径 "connectionCheckUrl":"http://www.google.com/" #改为路径 "connectionCheckUrl":"http://www.baidu.com/"
重启jenkins容器
#重启jenkins容器
docker restart myjenkins
PS
jenkins,插件下载时好多失败的
:
进入管理页面,点击高级,更改升级站点下的url为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
,点击提交,再点击立即获取(重要)