CentOS7:Docker1.31.1安装jenkins2.60.3、jenkins2.327

本文介绍了如何在CentOS7环境下使用Docker安装 Jenkins,包括拉取镜像、创建数据卷、设置权限、启动容器及修改下载源等步骤。针对启动容器时遇到的权限问题,提供了三种解决方法:赋予容器root权限、不挂载目录以及升级Docker。最后,分别展示了安装 Jenkins 2.60.3 和 2.327 的完整流程,并给出了获取初始密码的方法。

环境:

1、CentOS7
2、Docker version 1.13.1, build 0be3e21/1.13.1
3、jenkins2.60.3、jenkins2.327

一、docker安装jenkins2.60.3

拉取镜像文件

docker pull jenkins

新建jenkins_home2.60文件夹

mkdir /home/wyt/jenkins_home2.60

设置权限

sudo chown -R 1000:1000 /home/wyt/jenkins_home2.60

启动jenkins容器脚本

#! /bin/bash
dcoker rm -f myaa

docker run --name myaa \
        -d -p 8080:8080 \
        -p 50000:50000 \
        --privileged=true \
        -v /home/wyt/jenkins_home2.60:/var/jenkins_home \
        --env JAVA_OPTS="-Duser.timezone=GMT+08 -Dhudson.model.DownloadService.noSignatureCheck=true" jenkins

进入容器

docker exec -it myaa bash

修改下载源

# 将升级站点替换成阿里的,版本对应2.60
sed -i  's/http:\/\/updates.jenkins-ci.org\/update-center.json/https:\/\/mirrors.aliyun.com\/jenkins\/updates\/2.60\/update-center.json/g' /var/jenkins_home/hudson.model.UpdateCenter.xml

# 替换下载源
sed -i  's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.aliyun.com\/jenkins/g' /var/jenkins_home/updates/default.json
sed -i  's/http:\/\/www.google.com/http:\/\/www.baidu.com/g' /var/jenkins_home/updates/default.json

浏览器打开 http://localhost:8080/restart,重启jenkins
查看日志获取密码

docker logs -f myaa

在这里插入图片描述
打开http://localhost:8080
在这里插入图片描述
到下面这步,点【x】
在这里插入图片描述
注意:这里是说用户名是admin,密码在/home/wyt/jenkins_home2.60.3/secrets/initialAdminPassword
在这里插入图片描述
在这里插入图片描述
进入系统管理–插件管理,点击【立即获取】
在这里插入图片描述
在这里插入图片描述
配置完成,可以自己安装自己想要的插件了

二、docker安装jenkins2.327

拉取镜像文件

docker pull jenkins/jenkins

新建jenkins_home文件夹

mkdir /home/wyt/jenkins_home

设置权限

sudo chown -R 1000:1000 /home/wyt/jenkins_home

启动jenkins容器脚本

#! /bin/bash
docker rm -f myjenkins

docker run --name myjenkins \
	-d -p 8081:8080 \
	-p 50001:50000 \
	--privileged=true \
	-v /home/wyt/jenkins_home:/var/jenkins_home \
	--env JAVA_OPTS="-Duser.timezone=GMT+08" jenkins/jenkins

查看日志获取密码

docker logs -f myjenkins

在这里插入图片描述
打开http://localhost:8080
在这里插入图片描述
点击【安装推荐插件】,完成

遇到问题1

启动jenkins容器报错

[root@bogon scprit]# docker logs -f myjenkins
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

解决办法一:给容器root权限 --privileged=true
请注意,出于安全目的,在容器内以 root 身份运行是最糟糕的做法。

docker run --name myaa \
        -p 8080:8080 \
        -p 50000:50000 \
        --privileged=true \
        -v /home/wyt/jenkins_home2.60:/var/jenkins_home \
        --env JAVA_OPTS="-Duser.timezone=GMT+08 -Dhudson.model.DownloadService.noSignatureCheck=true" jenkins

解决办法二:去掉挂载目录

docker run --name myaa \
        -p 8080:8080 \
        -p 50000:50000 \
        -v /var/jenkins_home \
        --env JAVA_OPTS="-Duser.timezone=GMT+08 -Dhudson.model.DownloadService.noSignatureCheck=true" jenkins

解决办法三:升级docker
https://blog.youkuaiyun.com/DDJ_TEST/article/details/121974537

### 使用 DockerCentOS 7安装配置 Jenkins #### 准备工作 在开始之前,确保已经正确安装并运行了 Docker Docker Compose。如果尚未完成此操作,请先按照官方文档或相关教程完成安装。 --- #### 配置步骤 1. **拉取 Jenkins 官方镜像** 执行以下命令来下载最新的 Jenkins LTS 版本镜像: ```bash docker pull jenkins/jenkins:lts ``` 2. **创建必要的目录结构** 创建用于存储 Jenkins 数据的本地目录,并设置权限以便容器可以访问这些数据。 ```bash mkdir -p /mydata/jenkins_home chmod 777 /mydata/jenkins_home ``` 3. **编写 `docker-compose.yml` 文件** 在 `/mydata/` 下新建一个名为 `docker-compose.yml` 的文件,内容如下: ```yaml version: &#39;3&#39; services: jenkins: image: jenkins/jenkins:lts container_name: jenkins restart: always user: root ports: - 8080:8080 - 50000:50000 volumes: - /mydata/jenkins_home:/var/jenkins_home - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker ``` 此处挂载了多个卷以支持完整的功能需求[^2]。 4. **启动 Jenkins 容器** 切换到 `docker-compose.yml` 文件所在路径,执行以下命令启动服务: ```bash docker-compose up -d ``` 5. **查看初始管理员密码** 启动完成后,可以通过以下命令获取初始管理员密码: ```bash docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword ``` 将返回的结果作为登录凭证,在浏览器中输入地址 `http://<服务器IP>:8080` 并按提示完成初始化过程[^3]。 6. **可选:配置 Maven 国内源** 如果项目依赖于 Maven 构建工具,则可以在 Jenkins 中指定自定义的 Maven 设置文件。例如编辑 `${WORKSPACE}/settings.xml` 添加阿里云 Maven 源: ```xml <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors> ``` 然后将其挂载至容器内部相应位置[^5]。 7. **验证 JDK 环境** 确认宿主机已安装 Java 开发套件 (JDK),并通过 `-v` 参数共享给容器使用。如果没有预设环境变量 `$JAVA_HOME` ,则需手动调整全局配置或者脚本逻辑。 --- #### 注意事项 - 若计划频繁调用 Docker CLI 命令(如构建镜像),务必映射 `/var/run/docker.sock` 及实际二进制程序路径;否则可能导致插件报错无法识别外部资源。 - 对于生产环境中敏感信息保护建议启用 HTTPS 加密传输以及身份认证机制进一步加固安全性。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值