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,如下图,返回的值就是密码
- 登录即可。
- 获取登录密码
CentOS7下Docker中构建Jenkins容器的更多相关文章
- CentOS7下Docker中构建可以自动发布到项目的Tomcat容器
步骤 下载镜像 搜索相应的镜像文件:docker search 'tomcat' 如下 下载镜像:docker pull tomcat:7,如下图 PS:后面的数字代表tomcat的版本,可以自己选择 ...
- 将自己的SpringBoot应用打包发布到Linux下Docker中
目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...
- centos7下docker的安装教程
Centos7下docker安装教程以及踩过的那些坑 推荐在Centos下安装docker,在windows下安装docker可能会遇到很多的问题,而且docker官方推荐使用linux环境来使用do ...
- 【Devops】【docker】【CI/CD】docker启动的Jenkins容器 - 系统管理 - 全局工具配置 - 自动安装JDK、Maven、Git、Docker
本篇适用于jenkins是启动的docker容器,自动安装JDK Maven Git Docker等全局工具 ========================================= ...
- 在docker中运行jenkins实现代码自动发布到测试服务器
在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...
- Docker中完成Jenkins的安装
去年就开始学习采用Docker+Jenkins+.Net Core搭建生成式流水线,一直拖到现在,也没有彻底的好好静下来去总结总结.趁着现在对自己的严格要求下,逐渐开始重视自我总结,以此来巩固逐渐失去 ...
- CentOS7下Docker的安装与使用
前言 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到 ...
- CentOS7 下Docker最新入门教程 超级详细 (安装以及简单的使用)
转载https://blog.csdn.net/wzsy_ll/article/details/82866627 1.为什么使用Docker(本人) 最近总是频繁的在新服务器发布项目, 每次发布都需要 ...
- centos7下docker 部署javaweb
LXC linux container 百度百科:http://baike.baidu.com/link?url=w_Xy56MN9infb0hfYObib4PlXm-PW02hzTlCLLb1W2d ...
随机推荐
- LeetCode110.平衡二叉树
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1. 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true . 示例 ...
- 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集
character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...
- ECC
素数 prime,又称为质数,是指,除了1和它本身,没有其他因数的数. 素数的定理: 1)在一个大于1的数a和它的2倍之间必定存在至少一个素数: 素数的性质: 1)在所有的大于10的质数中,个位数,只 ...
- 如何让多个dz论坛共用一个用户数据库
用户数据库在论坛中是可以独立备份的,备份方法:论坛后台——站长——数据库,备份所有ucenter数据表,也就是用户数据.其他DZ论坛搭建完成以后,可以上传用户数据库,将备份文件使用上传至网站所使用的主 ...
- python 数据较大 性能分析
前提:若有一个几百M的文件需要解析,某个函数需要运行很多次(几千次),需要考虑性能问题 性能分析模块:cProfile 使用方法:cProfile.run("func()"),其中 ...
- os.system
python os.system os.system()函数在不同的系统下可以实现不同的作用 一.window下: os.system("ping www.baidu.com" ...
- uva 12222 Mountain Road
题意: 有一个单行道,两个方向都有车在等待.给出每个车的方向以及到达的时间以及走完这段路所需要的时间. 为了防止车祸,同向两车通过任一点的时间间隔不得小于10s. 求最后一辆车离开时刻的最小值. 思路 ...
- GO slim
1. GO slim简介 GO slims are cut-down versions of the GO ontologies containing a subset of the terms in ...
- 数据集成工具Kettle、Sqoop、DataX的比较
数据集成工具很多,下面是几个使用比较多的开源工具. 1.阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).H ...
- python深拷贝和浅拷贝的区别
首先深拷贝和浅拷贝都是对象的拷贝,都会生成一个看起来相同的对象,他们本质的区别是拷贝出来的对象的地址是否和原对象一样,也就是地址的复制还是值的复制的区别. 什么是可变对象,什么是不可变对象: 可变对象 ...