docker安装jenkins, 用作生产环境的CI搭建
第一步: 拉取官方镜像
docker pull jenkins/jenkins:lts
第二步:编写docker-compose文件
version: "2" services: nacos: image: jenkins/jenkins:lts container_name: jenkins environment: - JAVA_OPTS=-Duser.timezone=Asia/Shanghai privileged: true volumes: - /data/jenkins/:/var/jenkins_home - /etc/localtime:/etc/localtime ports: - 9010:8080 - 50000:50000 restart: on-failure
第三步:启动容器 ,注意, 先创建好挂载目录, 确认docker-compose文件的正确性
docker-compose up -d
第四步: 查看容器,发现如下问题
第五步: 发现是容器内部, 没有权限(此处有坑, 命名我设置了privileged: true, 后来去官网查询才得知以下信息, 自己这里才明白透)
第六步: 确认容器内部用户是不是root
docker run -ti --rm --entrypoint="/bin/bash" jenkins/jenkins:lts -c "whoami && id"
发先如下
那么真相大白了, 将1000在宿主机上权限提升即可
chown -R 1000:1000 /opt/jenkins
发现服务就正常启动了.
第七步: 访问对应jenkins地址
输入后台日志中的密码? ==> 安装完毕
但是进入后报错如下
怀疑是某些配置没配, 上网找资料做如下更改
说明,这个地址连接超时,下载插件会失败,有两个解决办法
首先在挂载的/opt/jenkins目录下找到hudson.model.UpdateCenter.xml文件
vi hudson.model.UpdateCenter.xml
第一种:将https://updates.jenkins.io/update-center.json的s去掉
第二种:换成国内的链接,
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
修改/opt/jenkins/updates/default.json
因jenkins在安装插件时需要检查网络,默认是访问google的
我们需要改成百度的www.baidu.com
然后重启容器, 无异常信息, 正常使用
后续就是一些使用jenkins的配置了, 废话不多说. 中文插件先装上