CentOS7下Docker中构建Jenkins容器
背景
在CentOS搭建Docker完成后,我们需要在Docker中搭建Jenkins用来实现工程自动部署。
安装前提
- jdk已安装,安装目录如:usr/java/jdk1.8.0_161
- maven已安装,安装目录如:usr/maven/apache-maven-3.5.2
- 设置Jenkins挂载目录(重要!!!)
- 创建一个目录作为Jenkins挂载目录,比如,mkdir -p /home/jingguoliang/jenkins
- 设置此目录的归属用户ID:chown -R 1000:1000 "/home/jingguoliang/jenkins/"
步骤
- 下载相应的jenkins镜像文件
- 运行Docker服务:systemctl start docker.service
- 搜索下载量大于10的相关镜像:docker search -s 10 "jenkins",如下图,我们选择第一个官方Jenkins Docker 镜像
- 下载镜像:docker pull "docker.io/jenkins",等待下载。
- PS:在下载过程中不可以断网,如果断网则需要重新下载镜像。具体步骤如下
- 重启docker:systemctl restart docker.service
- 重新搜索镜像
- 重新下载镜像
- 查看Docker镜像,如下图,则成功。
- 创建Jenkins容器
- 创造并运行容器:docker run -itd -p 8090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jingguoliang/jenkins:/var/jenkins_home -v /usr/java/jdk1.8.0_161:/usr/java/jdk1.8.0_161 -v /usr/maven/apache-maven-3.5.2:/usr/maven/apache-maven-3.5.2 docker.io/jenkins
- -p 8090:8080 -p 50000:50000:进行端口映射,比如127.0.0.1:8090就可以访问Jenkins
- --name jenkins:容器名称
- --privileged=true:在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,如果不加此参数会有权限问题
- -v /home/jingguoliang/jenkins:/var/jenkins_home -v /usr/java/jdk1.8.0_161:/usr/java/jdk1.8.0_161 -v /usr/maven/apache-maven-3.5.2:/usr/maven/apache-maven-3.5.2:磁盘挂载
- docker.io/jenkins:镜像名称
- 查看正在运行的容器:docker ps,如下图
- 创造并运行容器:docker run -itd -p 8090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jingguoliang/jenkins:/var/jenkins_home -v /usr/java/jdk1.8.0_161:/usr/java/jdk1.8.0_161 -v /usr/maven/apache-maven-3.5.2:/usr/maven/apache-maven-3.5.2 docker.io/jenkins
- 访问Jenkins,如图
- 访问地址
- 本地访问:http://loalhost:8090/
- 局域网访问,ip+8090
- 访问地址
-
- 获取登录密码
- 方式一:在jenkins启动的时候,我们设置了文件夹的挂在,所以我们直接可以在本地jenkins目录下查看密码:cat /home/jingguoliang/jenkins/secrets/initialAdminPassword,返回的值就是密码
- 方式二:进入容器内部获取密码
- 进入容器:docker exec -it "容器ID" bash,如图
- 查找文件:cat /var/jenkins_home/secrets/initialAdminPassword,如下图,返回的值就是密码
- 进入容器:docker exec -it "容器ID" bash,如图
- 登录即可。
- 获取登录密码
标签:
Docker搭建Jenkins
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」