docker安装jenkins

137 阅读3分钟

Docker 安装 Jenkins (超详细)

**发表于 2020-04-27 **更新于 2020-06-24 **阅读次数: 12084\

详细介绍如何通过 Docker 安装 Jenkins 。

安装环境

CentOS 7.6
Docker 18.09.6

拉取镜像

我这里安装的版本是2.222.3-centos,可以去这里获取你需要的版本: hub.docker.com/_/jenkins?t…

| 1 | ```

docker pull jenkins/jenkins:2.222.3-centos

| ---------- | ----------------------------------------------------- |

## [](#创建本地数据卷 "创建本地数据卷")创建本地数据卷

我这里映射本地数据卷的路径为`/data/jenkins_home/`,你想放别的地方可以自行修改

| ```
1 
``` | ```
# mkdir -p /data/jenkins_home/ 
``` |
| ---------- | --------------------------------------- |

需要修改下目录权限,因为当映射本地数据卷时,`/data/jenkins_home/`目录的拥有者为`root`用户,而容器中`jenkins`用户的 uid 为 `1000`。

| ```
1 
``` | ```
# chown -R 1000:1000 /data/jenkins_home/ 
``` |
| ---------- | ------------------------------------------------- |

## [](#创建容器 "创建容器")创建容器

| ```
1 
``` | ```
# docker run -d --name jenkins -p 8040:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:2.222.3-centos 
``` |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------ |

`-d` 标识是让 docker 容器在后台运行\
`--name` 定义一个容器的名字,如果没有指定,那么会自动生成一个随机数字符串当做UUID\
`-p 8040:8080` 端口映射,我本地的`8080`被占用了,所以随便映射了一个`8040`\
`-p 50000:50000` 端口映射\
`-v /data/jenkins_home:/var/jenkins_home` 绑定一个数据卷,`/data/jenkins_home`是刚才创建的本地数据卷

## [](#配置-Jenkins "配置 Jenkins")配置 Jenkins

### [](#打开-Jenkins "打开 Jenkins")打开 Jenkins

通过浏览器访问 `http://172.16.22.30:8040/`(注意替换成你自己的IP和端口)进入初始页,如果 Jenkins 还没有启动完成,会显示如下内容\
![install-jenkins-using-docker-init](/images/install-jenkins-using-docker-init.png)

### [](#输入管理员密码 "输入管理员密码")输入管理员密码

![install-jenkins-using-docker-password](/images/install-jenkins-using-docker-password.png)

这里要求输入初始的管理员密码,根据提示密码在`/var/jenkins_home/secrets/initialAdminPassword`这个文件中,注意这个路径是 Docker 容器中的,所以我们通过如下命令获取一下

| ```
1 2 
``` | ```
# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword 85770376692448b7b6a8e301fb437848 
``` |
| ------------ | ------------------------------------------------------------------------------------------------------------------ |

别忘了我们映射了本地数据卷`/data/jenkins_home/`,所以也可以通过如下命令输出

| ```
1 2 
``` | ```
# cat /data/jenkins_home/secrets/initialAdminPassword  85770376692448b7b6a8e301fb437848 
``` |
| ------------ | ------------------------------------------------------------------------------------------------ |

输入密码后,点击`继续`

### [](#安装插件 "安装插件")安装插件

![install-jenkins-using-docker-plugins](/images/install-jenkins-using-docker-plugins.png)

这里选择`安装推荐的插件`,然后 Jenkins 会自动开始安装,如果插件安装很慢,请参考 [解决 Jenkins 安装插件很慢的问题 ( Linux )](https://segon.cn/jenkins-installs-plugins-slowly.html)\
![install-jenkins-using-docker-install-plugins](/images/install-jenkins-using-docker-install-plugins.png)

安装完成后会自动跳转到下一步

### [](#创建管理员 "创建管理员")创建管理员

![install-jenkins-using-docker-create-admin](/images/install-jenkins-using-docker-create-admin.png)

### [](#实例配置 "实例配置")实例配置

![install-jenkins-using-docker-url](/images/install-jenkins-using-docker-url.png)

注意IP地址和端口就行了

### [](#配置完成 "配置完成")配置完成

![install-jenkins-using-docker-done](/images/install-jenkins-using-docker-done.png)

相关文章

* [CentOS 7 安装 Jenkins](/centos-install-jenkins.html)
* [解决 Jenkins 安装插件很慢的问题 ( Linux )](/jenkins-installs-plugins-slowly.html)
* [使用 Jenkins 构建、部署 Spring Boot 应用](/jenkins-deploy-springboot.html)
* [Android 中 Handler 导致的内存泄漏](/android-handler-lead-to-memory-leak.html)
* [AWS EC2 不停机磁盘扩容](/aws-ec2-resizing-a-volume.html)

<!---->

* **本文作者:** Segon
* **本文链接:** [https://segon.cn/install-jenkins-using-docker.html](https://segon.cn/install-jenkins-using-docker.html "Docker 安装 Jenkins (超详细)")
* **版权声明:** 本博客所有文章除特别声明外,均采用 [**BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/) 许可协议。转载请注明出处!

[# Jenkins](/tags/Jenkins/) [# Docker](/tags/Docker/)

[**Maven 编译、打包时跳过测试(四种方法)](/maven-skip-test.html "Maven 编译、打包时跳过测试(四种方法)")

[解决 Jenkins 安装插件很慢的问题 ( Linux )**](/jenkins-installs-plugins-slowly.html "解决 Jenkins 安装插件很慢的问题 ( Linux )")