docker 安装jenkins

使用 Docker 安装 Jenkins 是一种快速、方便的方法,可以避免本地环境的复杂依赖。以下是通过 Docker 安装 Jenkins 的基本步骤:

  1. 安装 Docker

    如果你的系统尚未安装 Docker,请先安装 Docker。对于 Ubuntu 系统,可以通过以下命令安装:

    bash 复制代码
    sudo apt update
    sudo apt install docker.io

    对于 CentOS 或 RHEL 系统(假设使用的是7或更高版本):

    bash 复制代码
    sudo yum install docker -y
    sudo systemctl start docker
    sudo systemctl enable docker

    或者如果你需要最新版 Docker,请参照官方文档安装 Docker CE 或 Docker EE。

  2. 拉取 Jenkins 镜像

    使用 docker pull 命令从 Docker Hub 下载官方的 Jenkins 镜像:

    {"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]}

重启Docker

bash 复制代码
systemctl daemon-reload
systemctl restart docker

使用 docker pull 命令从 Docker Hub 下载官方的 Jenkins 镜像:

bash 复制代码
docker pull jenkins/jenkins:lts # 推荐使用长期支持版 (LTS)
  1. 创建数据卷挂载目录

    创建一个本地目录来持久化 Jenkins 的配置和工作空间数据:

    bash 复制代码
    mkdir -p /data/jenkins_home
    chmod 777 /data/jenkins_home
  2. 运行 Jenkins 容器

    启动一个新的 Jenkins 容器,并将刚才创建的数据卷挂载到容器内:

    bash 复制代码
    docker run \
      --name my-jenkins-container \
      -d \
      -p 8080:8080 -p 50000:50000 \
      -v /data/jenkins_home:/var/jenkins_home \
      jenkins/jenkins:lts

    上述命令中:

    • -d 表示在后台以守护进程模式运行容器。
    • -p 参数用于端口映射,外部主机的 8080 端口映射到容器内的 Jenkins Web UI 端口,50000 端口映射给 Jenkins 的构建代理通信。
    • -v 参数用于挂载数据卷,确保 Jenkins 数据持久化存储在宿主机上。
  3. 初始化并访问 Jenkins

    容器启动后,Jenkins 将开始运行。打开浏览器访问 http://localhost:8080 (如果是在本地主机上运行 Docker),你会看到 Jenkins 初始化向导。首次启动时,Jenkins 会生成一个初始管理员密码。你可以在容器日志中找到这个密码:

    bash 复制代码
    docker logs my-jenkins-container

    在日志输出中查找类似于 Unlock Jenkins 的提示,按照指示解锁 Jenkins 并设置初始管理员密码。

  4. 后续操作

    根据 Jenkins 向导完成基本配置,添加插件、创建用户等。至此,你应该已经成功在 Docker 中安装并启动了 Jenkins。

注意:上述命令中的端口可以根据实际情况进行调整,以及在生产环境中可能需要更安全的权限设置。

相关推荐
_oP_i2 小时前
Docker 整体架构
docker·容器·架构
杨浦老苏2 小时前
可视化服务构建器Dock-Dploy
docker·工具·群晖
落世繁华2 小时前
DIFY合同生成全流程开发实践(三、后端接口以及优化方向)
docker·一键部署·dify·合同生成·文字转word
ascarl20103 小时前
Kubernetes 环境 NFS 卡死问题排查与解决纪要
云原生·容器·kubernetes
m0_569531015 小时前
《K8s 网络入门到进阶:Service 与 Ingress 原理、部署方案及核心区别对比》
网络·容器·kubernetes
wxjlkh5 小时前
docker 搭建 grafana+prometheus 监控主机资源之node_exporter
docker·grafana·prometheus
杨浦老苏7 小时前
安全共享敏感信息的共享工具Hemmelig.app
docker·群晖·密码·阅后即焚
眠りたいです7 小时前
Docker:容器虚拟化技术基础-namespace,cgroups,资源管理与LXC
运维·docker·中间件·容器
新手小白*8 小时前
K8s 中的 CoreDNS 组件
云原生·容器·kubernetes
speedoooo8 小时前
未来的App不再需要菜单栏?
前端·ui·容器·小程序·web app