1 介绍(知识点)
1.1 Jenkins介绍
Jenkins是一个开源软件项目,是基于Java开发的一种工具,可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
-
官网:https://jenkins.io/
-
官方文档:https://jenkins.io/zh/doc/
Jenkins特点
- 开源免费
- 安装配置超级简单
- 跨平台,支持所有的平台
- web形式的可视化的管理页面
- 分布式构建
- 丰富的插件支持
1.2 Docker介绍
Docker 是一个开源的应用容器引擎,方便快速搭建环境、部署应用
- 官网:https://www.docker.com/
Docker应用场景
-
应用的自动化打包和发布
-
自动化测试和持续集成、发布。
2 安装及配置(知识点)
2.1 Docker安装及配置
- Windows安装
- CentOS安装
CentOS安装
Docker支持以下的CentOS版本:
- CentOS 7 (64-bit)
- CentOS 6.5 (64-bit) 或更高的版本
安装及配置步骤
-
查看内核版本
uname -a
,建议3.10以上 -
yum更新
yum update
-
安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
-
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
查询版本,并安装
yum list docker-ce --showduplicates | sort -r
-
安装Docker
yum install docker-ce-17.12.1.ce
-
验证安装是否成功
docker version
-
启动docker,并加入开机启动
systemctl start docker systemctl enable docker
2.2 Jenkins安装及配置
安装及配置步骤:
-
下载地址:https://jenkins.io/zh/download/
-
选择docker版本下载
-
或直接访问https://hub.docker.com/r/jenkins/jenkins
4. Centos下安装
-
切换root用户
-
su root
-
执行命令
docker pull jenkins/jenkins:lts
- 安装完成
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191028110644934.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RlbW9uMTE5,size_16,color_FFFFFF,t_70)
- 查看下载完成的镜像
-
启动Jenkins镜像
docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins:lts
-
启动参数意义
-d 后台运行镜像 -p 80:8080 将镜像的8080端口映射到服务器的80端口 -p 50000:50000 将镜像的50000端口映射到服务器的50000端口 -v jenkins:/var/jenkins_home /var/jenkins_home目录为jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。 -v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。 --name jenkins 给容器起一个别名
-
-
浏览http://localhost并等到Unlock Jenkins页面出现。
- 注意,docker
版的
jenkins`,所以这个路径不是服务器的路径,而是容器内的路径。我们可以通过如下命令从容器中获取到初始化密码
docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
- 注意,docker
-
继续使用后面步骤设置向导完成设置。
2.3 Docker简单使用
-
列出本地主机上的镜像
-
docker images
-
查看容器状态
docker ps -a
-
容器启动命令
Docker start container-name(jenkins) Docker stop container-name docker restart container-name
-
进入正在运行的镜像
docker exec :在运行的容器中执行命令 语法 -d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端
-
容器内安装命令
-
apt-get update
同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
-
等更新完毕以后再敲命令,即可
apt-get install vim
-
FAQ:
- docker中开放端口IPv4 forwarding is disabled. Networking will not work解决方法
- 编辑 vi /etc/sysctl.conf
- 添加 net.ipv4.ip_forward=1
- 重启network服务 systemctl restart network
- 处理docker下载慢
- 编辑docker配置文件vi /lib/systemd/system/docker.service
- 将这一行:ExecStart=/usr/bin/dockerd
- 修改为: ExecStart=/usr/bin/dockerd --registry-mirror=https://u1qbyfsc.mirror.aliyuncs.com
-
开放防火墙端口
-
查看已经开放的端口
firewall-cmd --list-ports
-
开启端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效
-
重启防火墙:
firewall-cmd --reload #重新载入firewall配置,使配置生效
-
-
Doker容器不能访问网络
-
执行命令
#nmcli是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入配置文件,永久生效 nmcli connection modify docker0 connection.zone trusted #重启docker服务 systemctl restart docker.service
-
进入容器终端并且的保留为容器终端的输入形式(-it和bash的结合作用)
-
docker exec -it CONTAINER_ID bash
-
使用ping命令,验证网络是否连通
ping www.baidu.com
-