Docker安装jenkins

417 阅读3分钟

1、Docker环境下安装Jenkins

Docker拉取jenkins镜像

docker pull jenkinsci/blueocean

image.png

创建Jenkins挂载目录并授权权限

如果你对Docker比较熟悉,应该知道它的实现实际上是创造了一个独立的容器环境,Jenkins在这个容器内运行,那么如果我们想要对Jenkins进行配置,就需要进入到容器里选择文件进行配置。虽然我们可以使用docker exec -it 【容器id】 bash 命令进入容器目录进行配置,但是连简单的 vi命令都不能使用。

如果我们在启动镜像的时候指定挂载目录,那么在服务器本机与容器之间就可以创建一个映射。

所以我们在在服务器指定路径新建 docker_home 目录(目录名可随意), 我的docker_home 目录位于 /root 路径下, 在docker_home 下新建 / 目录(可随意),赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。

image.png

配置启动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目录

image.png

2、登录及基础配置

登录Jenkins

Docker运行Jenkins成功后,就可以访问这个地址了:http://你服务器ip:8080/,第一次登录需要输入管理员密码 (记得放开服务器相对应的端口)。

image.png 第一次初始化需要一点时间,并不是死机

初始化完毕后

image.png

管理员初始密码被放到了/var/jenkins_home/secrets/initialAdminPassword 文件中。

其实查看启动时候的日志可以看到密码 docker logs jenkins

image.png

也可以按照以下方法找到密码。

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

image.png

Jenkins 解锁成功后,安装插件,此处选择安装推荐的插件,等待安装完成即可

image.png

注意可能会出现网络问题安装失败,反复重试一下或者选择插件来安装

image.png

插件安装完成,创建一个管理员用户,配置 Jenkins 实例地址,Jenkins 就安装完成了

image.png

image.png