在 Docker 中部署 Jenkins 是一个简单且有效的方法,因为它允许你快速设置 Jenkins 环境,而无需在你的系统上安装所有依赖项。以下是一些基本步骤,帮助你在 Docker 上部署 Jenkins:

步骤 1: 安装 Docker
确保你的系统上已经安装了 Docker。你可以访问 Docker官网 来获取安装指南。

步骤 2: 拉取 Jenkins 镜像
打开终端或命令提示符,并运行以下命令来拉取 Jenkins 的官方 Docker 镜像:

docker pull jenkins/jenkins:lts


这里 lts 指的是长期支持版本,你也可以选择 jenkins/jenkins:latest 来获取最新版本。

步骤 3: 运行 Jenkins 容器
你可以通过以下命令来运行 Jenkins 容器:

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


这个命令做了几件事情:

-p 8080:8080 将容器的 8080 端口映射到宿主机的 8080 端口,这是 Jenkins 的默认 Web 端口。
-p 50000:50000 将容器的 50000 端口映射到宿主机的 50000 端口,这是 Jenkins 用于 Java Web Start 的端口。
-v jenkins-data:/var/jenkins_home 将宿主机的 jenkins-data 卷挂载到容器的 /var/jenkins_home,这样即使容器被删除,数据也不会丢失。宿主机上的Jenkins-data需要设置可执行权限否则容器无法启动
-d 表示以分离模式运行容器(后台运行)。
--name jenkins 为容器指定一个名字,方便管理。
步骤 4: 获取初始管理员密码
首次运行 Jenkins 后,你需要获取初始管理员密码:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword


步骤 5: 访问 Jenkins
在浏览器中访问 http://localhost:8080,并使用上一步获取的密码进行登录。

步骤 6: 自定义配置(可选)
你可以通过浏览 Jenkins 的设置来自定义配置,例如安装插件、创建项目等。

如果安装的jenkins构建项目需要通过docker方式部署,那么docker容器安装Jenkins时需要进行授权:容器部署的jenkins无法直接操作宿主机上的docker命令,解决方案

重新通过Dockerfile的方式拉去Jenkins镜像

#1、基础镜像还是使用我们第一篇文章中的jenkins/jenkins:jdk11
FROM jenkins/jenkins:lts
#2、容器使用root用户
USER root
#3、基础镜像基于debian linux套件,所以下载软件使用apt-get命令
RUN apt-get update
#4、在容器中安装docker
RUN curl -sSL https://get.docker.com/ | sh

使用 Docker in Docker (DinD)

最直接的方法是使用 Docker in Docker (DinD)。这种方法在 Jenkins 容器内部启动另一个 Docker 守护进程。

  1. 创建 Jenkins 容器时挂载 Docker socket‌:

    docker run -d \
      -p 8080:8080 \
      -p 50000:50000 \
      -u root \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v $(which docker):/bin/docker \
      -v jenkins-data:/var/jenkins_home \
      --name jenkins \
      jenkins
    

    这里,-v /var/run/docker.sock:/var/run/docker.sock 将宿主机的 Docker socket 挂载到 Jenkins 容器中,允许 Jenkins 容器内的命令使用宿主机的 Docker。

更多推荐