构建jenkins docker镜像
时间: 2023-10-03 09:09:35 浏览: 119
1. 安装Docker和Docker Compose
首先,需要安装 Docker 和 Docker Compose。可以在官网上下载对应的安装包进行安装。
2. 编写 Dockerfile
编写 Dockerfile 文件,定义 Jenkins 镜像的构建过程。
```
FROM jenkins/jenkins:lts
USER root
RUN apt-get update && \
apt-get install -y apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" && \
apt-get update && \
apt-get install -y docker-ce-cli && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
USER jenkins
```
这个文件的作用是:
- 基于 Jenkins 的 lts 版本。
- 切换成 root 用户,更新 apt-get,安装 Docker 相关依赖。
- 切换回 Jenkins 用户,完成镜像构建。
3. 构建 Docker 镜像
使用 Docker 命令构建 Jenkins 镜像。
```
docker build -t jenkins .
```
这个命令会在当前目录下找到 Dockerfile 文件,并使用它构建一个名为 jenkins 的镜像。
4. 运行 Jenkins 容器
使用 Docker Compose 运行 Jenkins 容器。
```
version: '3.3'
services:
jenkins:
image: jenkins
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
volumes:
jenkins_home:
```
这个文件的作用是:
- 定义一个名为 jenkins 的服务,使用刚刚构建的 jenkins 镜像。
- 映射宿主机的 8080 和 50000 端口到容器的 8080 和 50000 端口。
- 挂载 jenkins_home 和宿主机的/var/run/docker.sock。
使用以下命令启动 Jenkins 容器。
```
docker-compose up -d
```
现在,可以访问 http://localhost:8080 访问 Jenkins 了。
阅读全文