Docker-搭建部署Jenkins(保姆篇)

在这里插入图片描述


更多相关内容可查看

Jenkins部署

拉取镜像

如果想拉取对应版本请指明版本号

docker pull jenkins/jenkins:lts-jdk11

在这里插入图片描述

启动容器

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /home/jenkins_data:/var/jenkins_home -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -u 0 --restart=on-failure:3 jenkins/jenkins

在这里插入图片描述

启动容器命令解释
1、-p 端口映射

jenkins容器内部有8080 与50000两个通讯端口,所以需要映射到宿主机上,这样才能正常访问

2、-v 数据卷挂载

我这里一共是挂载了三个,一个是jenkins工作存储位置/var/jenkins_home,所有插件 数据配置都在此目录下;另外两个挂载与docker有关,将我们宿主机的docker与jenkins连动起来,这样jenkins就不需要再额外下载docker插件即可实现devops容器化部署了。

3、-u 指定用户

因为Jenkins镜像内部使用的用户是jenkins,但是我们启动容器时的账号是root,导致没有权限操作内部目录,所以加上参数-u就能解决

-u :覆盖容器中内置的账号
0:root账号id

4、–restart 容器重启策略

–restart=on-failure 表示在容器非正常退出时尝试从新启动

–restart=on-failure:3 表示在容器非正常退出时尝试从新启动,最多重启三次

查看初始密码

图示所选为超管账号初始密码

docker logs -f 你自己的jenkins容器Id

在这里插入图片描述

关闭CSRF

根据上边宿主机挂载的jenkins工作目录,修改配置文件 /home/jenkins_data/config.xml

# 把<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>  中的false改为true
  <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>true</excludeClientIPFromCrumb>
  </crumbIssuer>

在这里插入图片描述

Jenkins页面使用

解决插件下载缓慢

进入容器
docker exec -it jenkins /bin/bash


找到 default.json 文件
find / -name default.json

进入对应目录
cd /var/jenkins_home/updates

替换 default.json 中的内容
将 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,
将 www.google.com 替换为 www.baidu.com

sed -i 's/www.google.com/www.baidu.com/g' default.json
sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

在这里插入图片描述
插件提速设置好后,需要重新启动jenkins容器

docker restart 你的jenkins容器ID

在这里插入图片描述

访问jenkins页面

输入宿主机ip:端口即可访问jenkins并输入上方获取的初始密码即可

在这里插入图片描述

推荐插件安装

新手一般根据推荐安装插件即可,避免了后续使用又要下载插件的问题,因为我们上边配置了插件提速,所以速度也还是非常快的(如果下载不下来也可以不用管先进性后续操作)
在这里插入图片描述

创建一个管理员账号

在这里插入图片描述

实例配置

服务器ip+端口
在这里插入图片描述

页面展示

在这里插入图片描述

本篇就到这里了,安装完只是开始,如果想要用jenkis进行自动打包或者部署,需要写一些脚本加配置,还需要根据自己的项目情况来自行解决。

  • 31
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 Docker Compose 部署 Jenkins 可以简化 Jenkins 的安装和配置过程,提高部署效率和可维护性。 以下是部署 JenkinsDocker Compose 文件示例: ``` version: '3' services: jenkins: image: jenkins/jenkins:lts ports: - "808:808" - "50000:50000" volumes: - jenkins_home:/var/jenkins_home environment: - JAVA_OPTS=-Djenkins.install.runSetupWizard=false networks: - jenkins_network volumes: jenkins_home: networks: jenkins_network: ``` 在该示例中,我们定义了一个名为 `jenkins` 的服务,使用了 Jenkins 官方提供的 `jenkins/jenkins:lts` 镜像。我们将 Jenkins 的 808 和 50000 端口映射到主机的同名端口,以便我们可以通过浏览器访问 Jenkins。我们还将 Jenkins 的数据目录 `/var/jenkins_home` 挂载到了 Docker 卷 `jenkins_home` 中,以便我们可以在容器重启后保留 Jenkins 的配置和数据。我们还设置了一个环境变量 `JAVA_OPTS=-Djenkins.install.runSetupWizard=false`,以禁用 Jenkins 的安装向导。最后,我们将 Jenkins 容器连接到一个名为 `jenkins_network` 的 Docker 网络中。 要部署 Jenkins,只需在包含上述 Docker Compose 文件的目录中运行以下命令: ``` docker-compose up -d ``` 该命令将启动 Jenkins 容器,并将其连接到 `jenkins_network` 网络中。我们可以通过浏览器访问 `http://localhost:808` 来访问 Jenkins。在第一次访问时,我们需要输入初始管理员密码,该密码可以在容器日志中找到。输入密码后,我们可以按照向导完成 Jenkins 的配置。 希望这个回答对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来一杯龙舌兰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值