温馨提示×

Ubuntu Jenkins如何配置Docker容器

小樊
64
2025-08-05 10:33:09
栏目: 智能运维

在Ubuntu上配置Jenkins以使用Docker容器是一个相对简单的过程。以下是详细的步骤指南:

1. 安装Docker

首先,确保你的Ubuntu系统上已经安装了Docker。如果尚未安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

检查Docker是否安装成功,可以使用以下命令查看版本:

docker --version

2. 拉取Jenkins Docker镜像

从Docker Hub拉取Jenkins的镜像。你可以选择拉取长期支持版本(LTS)或最新版本:

docker pull jenkins/jenkins:lts
# 或者
docker pull jenkins/jenkins

3. 运行Jenkins容器

运行Jenkins容器时,需要暴露一些端口并挂载一个卷以保持Jenkins的数据持久性。以下是运行Jenkins容器的命令:

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

命令详解:

  • -d: 以后台模式运行容器。
  • -p 8080:8080: 将Jenkins内部的8080端口映射到主机的8080端口。
  • -p 50000:50000: 映射50000端口,用于Jenkins代理通信。
  • --name jenkins: 为容器命名为“jenkins”。
  • -v jenkins_home:/var/jenkins_home: 将Docker卷jenkins_home挂载到容器内的Jenkins主目录。这样可以确保数据在容器重启后不会丢失。

4. 解锁Jenkins

首次运行Jenkins时,你需要输入初始管理员密码进行解锁。可以通过以下命令查看日志以找到管理员密码:

docker logs jenkins

在日志中查找以下内容:

Jenkins initial setup is required. Please use the following password to proceed to installation: <initialAdminPassword>

复制密码并在Jenkins Web界面中输入(http://localhost:8080)。

5. 安装插件和创建管理员用户

解锁Jenkins后,系统会提示你安装推荐的插件。你可以选择安装推荐的插件,或手动选择特定的插件。插件安装完成后,根据提示创建管理员用户。

6. 数据持久化和自定义配置

在前面创建的Docker容器中,使用的卷(jenkins_home)用于保持Jenkins的配置和任务数据持久化。这可以确保即使删除或停止容器,Jenkins的数据仍然保留。

如果你想使用本地目录来保存数据,可以将jenkins_home:/var/jenkins_home替换为主机上的一个目录路径:

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /path/to/your/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

7. 配置Jenkins与Docker的集成(可选)

为了让Jenkins执行基于Docker的构建任务,需要配置Jenkins容器能够调用宿主机的Docker环境。

安装Docker插件

在Jenkins中打开“管理Jenkins” -> “管理插件”。搜索“Docker”,安装“Docker Plugin”。

配置Docker插件

在“系统设置”中找到“Docker”一节,点击“添加Docker Template”按钮。填写以下信息:

  • Docker Image: 选择一个Docker镜像,例如 ubuntu:latest
  • Docker Agent Port: 容器中Jenkins代理的端口号,建议设置为2375。
  • Credentials: 选择一个Docker凭证,用于连接到Docker守护进程。
  • Volumes: 指定宿主机和容器之间的文件映射关系。
  • Launch method: 选择Jenkins与Docker之间的连接方式,可以是SSH或TCP。

通过以上步骤,你就可以在Ubuntu上成功配置Jenkins以使用Docker容器。这样可以确保你的持续集成和持续交付环境更加稳定和一致。

0