1、Docker环境下安装Jenkins
Docker拉取jenkins镜像
docker pull jenkinsci/blueocean
创建Jenkins挂载目录并授权权限
如果你对Docker比较熟悉,应该知道它的实现实际上是创造了一个独立的容器环境,Jenkins在这个容器内运行,那么如果我们想要对Jenkins进行配置,就需要进入到容器里选择文件进行配置。虽然我们可以使用docker exec -it 【容器id】 bash 命令进入容器目录进行配置,但是连简单的 vi命令都不能使用。
如果我们在启动镜像的时候指定挂载目录,那么在服务器本机与容器之间就可以创建一个映射。
所以我们在在服务器指定路径新建 docker_home 目录(目录名可随意), 我的docker_home 目录位于 /root 路径下, 在docker_home 下新建 / 目录(可随意),赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。
配置启动jenkins服务
在服务器指定路径新建 docker_home 目录(目录名可随意), 我的docker_home 目录位于 /root 路径下, 在docker_home 下新建 / 目录(可随意)
启动jenkins服务:
docker run -u root --name jenkins --restart=always -p 8080:8080 -v /root/docker_home/jenkins_data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -d jenkinsci/blueocean
参数说明:
--name
定义一个容器的名字,如果没有指定,那么会自动生成一个随机数字符串当做UUID
-d
标识是让 docker 容器在后台运行
-p 9080:8080
端口映射,将宿主机9080端口映射到容器8080端口
-p 50000:50000
50000端口是基于JNLP的Jenkins代理(slave)通过TCP与 Jenkins master
进行通信的端口。
-v /root/docker_home/jenkins_data:/var/jenkins_home
绑定一个数据卷,/root/docker_home/jenkins_data
是宿主机数据卷
-v /var/run/docker.sock:/var/run/docker.sock
映射docker目录
2、登录及基础配置
登录Jenkins
Docker运行Jenkins成功后,就可以访问这个地址了:http://你服务器ip:8080/,第一次登录需要输入管理员密码 (记得放开服务器相对应的端口
)。
第一次初始化需要一点时间,并不是死机
初始化完毕后
管理员初始密码被放到了/var/jenkins_home/secrets/initialAdminPassword
文件中。
其实查看启动时候的日志可以看到密码
docker logs jenkins
也可以按照以下方法找到密码。
1.查看docker容器ID:docker ps -a
2.登陆到容器:docker exec -u 0 -it 容器ID /bin/bash
-u 0 是使用root权限,如果不需要修改文件可以不使用此参数。
docker attach 容器ID
docker exec -it 容器ID /bin/bash
3.查看密码文件:cat /var/jenkins_home/secrets/initialAdminPassword
Jenkins 解锁成功后,安装插件,此处选择安装推荐的插件,等待安装完成即可
注意可能会出现网络问题安装失败,反复重试一下或者选择插件来安装
插件安装完成,创建一个管理员用户,配置 Jenkins 实例地址,Jenkins 就安装完成了