Docker 安装 Jenkins

1、查看可用的 jenkins 版本

访问 jenkins 镜像库地址: https://hub.docker.com/_/jenkins?tab=tags

可以通过 Sort by 查看其他版本的 jenkins,默认是最新版本 jenkins:latest

此外,我们还可以用 docker search jenkins 命令来查看可用版本:

2、取长期支持版本的 jenkins 镜像

这里选择长期支持版本,下载完成后,查看镜像

3、查看本地镜像

4、设置宿主机目录权限,方便于容器映射

说明: 下面将会介绍两种挂载的方式

  • 第一种 在宿主主机 安装好java环境、maven环境(PS:请提前配置好settings.xml 仓库目录为 /mydata/maven/repository),启动容器时挂载到容器内部,在jenkins配置时无需额外的自动安装java环境、maven环境,只需要指定java、maven目录即可(因为已经通过宿主主机挂载到容器内部,即使删除容器也不用担心数据丢失的问题)

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

  • 第二种 在jenkins容器中(自动安装java环境、maven环境),启动容器时挂载到宿主主机目录(避免数据丢失)

[!NOTE]

**参数说明: **

参考第一种

在jenkins容器内部安装软件时,会自动安装到 /var/jenkins_home/tools/ 这个目录,又因为我们已经打算通过 -v /mydata/jenkins/:/var/jenkins_home 挂载目录,所以自动安装的软件将会自动挂载到宿主主机中 但我们需要额外的配置一下 仓库的地址来映射 宿主主机目录 避免容器删除时,仓库数据丢失。

容器内部目录 /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/apache-maven-3.8.6/conf/settings.xml

挂载宿主主机目录 /mydata/jenkins/tools/hudson.tasks.Maven_MavenInstallation/apache-maven-3.8.6/conf/settings.xml

所以只需修改 /mydata/jenkins/tools/hudson.tasks.Maven_MavenInstallation/apache-maven-3.8.6/conf/settings.xml 配置文件即可

这里仓库是映射到 /mydata/jenkins/tools/hudson.tasks.Maven_MavenInstallation/apache-maven-3.8.6/repository

5、运行容器

jenkins手动安装maven、java环境,启动容器配置参数

如果没有授权宿主主机目录的权限,可以使用授予root权限执行容器命令

[!NOTE]

参数说明:

  • -v /mydata/jenkins/:/var/jenkins_home 挂载宿主主机目录到容器目录

  • -v /var/run/docker.sock:/var/run/docker.sock 挂载docker的实例

  • -v /usr/local/apache-maven-3.8.6/: /usr/local/apache-maven-3.8.6/ 挂载宿主主机的maven

  • -v /mydata/maven/repository:/mydata/maven/repository 挂载maven仓库目录

  • -v /etc/localtime:/etc/localtime 同步时间

  • -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai 设置环境变量

  • --restart "always" 随着容器启动而启动

  • --user root root用户执行命令

  • --privileged=true 授予root权限

  • -d jenkins/jenkins:lts 后台运行镜像

jenkins自动安装maven、java环境,启动容器配置参数

6、进阶使用

Docker Jenkins进阶配置

Last updated

Was this helpful?