1.下载jenkins的镜像
1)下载
2)查看版本:#docker inspect jenkins
3)创建挂载目录并配置权限:
查看docker容器内的用户ID
docker run -it --rm --entrypoint="/bin/bash" jenkins/jenkins:lts -c "whoami && id"
# mkdir /srv/jenkins_home
chown -R 1000 /srv/jenkins_home
2.启动容器
docker run -d --name jenkins -p 7071:8080 --restart=always -e TZ="Asia/Shanghai" -u root -e JENKINS_OPTS="--prefix=/jenkins" -e JENKINS_ARGS="--prefix=/jenkins" -v /srv/jenkins_home:/var/jenkins_home -v /etc/timezone:/etc/timezone jenkins/jenkins:lts
参数解析:
-d 后台运行容器,并返回容器ID;
--name 为容器名字
-p 映射宿主机端口到容器端口,宿主机端口:容器端口
--restart=always 机器重启时自动启动容器
-e 设定一些必须的环境变量。
-e TZ="Asia/Shanghai" 设定时区为上海, 否则会差8小时。
-e JENKINS_OPTS="--prefix=/jenkins" -e JENKINS_ARGS="--prefix=/jenkins"
设定jenkins访问的路径, 如果是直接根目录或ip地址访问,则不需要添加,如果是想nginx反向代理且不在根目录下,
-v /srv/jenkins_home:/var/jenkins_home 挂载宿主机文件到容器。
-v /etc/timezone:/etc/timezone 挂载宿主机时间
3.优化插件安装速度
1)在挂载目录/srv/jenkins_home/updates/default.json
替换 default.json 中的内容
将 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,
将 www.google.com 替换为 www.baidu.com ,执行如下命令
# sed -i 's/www.google.com/www.baidu.com/g' default.json
# sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
重启一下 Jenkins
4.nginx反向代理
location /jenkins {
proxy_pass http://127.0.0.1:7071;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
5.访问地址:http://www.yourhost.com/jenkins