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的配置了, 废话不多说. 中文插件先装上

原文地址:https://www.cnblogs.com/binyue-sunmk/p/14954247.html