docker安装、启动jenkins服务,创建接口自动化定时任务(mac系统)

前提:安装Docker。

1、Docker拉取镜像、启动服务

(可参考Jenkins官网教程:安装Jenkins

  1. 从Docker Hub下载最新的Jenkins LTS(长期支持)镜像:
bash 复制代码
docker pull jenkins/jenkins:lts
  1. 使用Docker命令启动jenkins容器服务
bash 复制代码
docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  --name=jenkins \
  -v /Users/zhangyue/workspace/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts
  • docker run:Docker的运行容器命令。

  • -u root:设置容器内运行的用户为root。

  • --rm:容器退出时自动删除容器。

  • -d:后台运行容器。

  • -p 8080:8080:将容器的8080端口映射到主机的8080端口。

  • -p 50000:50000:将容器的50000端口映射到主机的50000端口。

  • -v /Users/zhangyue/workspace/jenkins_home:/var/jenkins_home :将主机的/Users/zhangyue/workspace/jenkins_home目录挂载到容器的/var/jenkins_home目录。(是Jenkins的数据目录,包含所有的配置和插件)

  • -v /var/run/docker.sock:/var/run/docker.sock:这是将主机的Docker套接字挂载到容器中,允许Jenkins与Docker守护进程进行通信。

  • jenkins/jenkins:lts:要运行的Docker镜像的名称和标签。

    • jenkins/jenkins是Jenkins的官方Docker镜像,lts是长期支持版本。

复制命令并回车,启动成功,会返回容器id

  1. 使用命令列出当前正在运行的容器:
bash 复制代码
docker ps

(可以使用容器ID的前12位来删除Docker容器。Docker会自动匹配与提供的ID前缀匹配的容器。)

  1. 访问浏览器:127.0.0.1:8080 或**http://localhost:8080**即可访问jenkins。
    首次访问Jenkins需要使用初始密码登录后配置,注意:这是docker容器内的路径!

2、Jenkins初始配置

  1. 使用容器id进入容器:
bash 复制代码
docker exec -it [容器id] /bin/bash
  1. 容器内执行命令查看初始管理密码:
bash 复制代码
cat /var/jenkins_home/secrets/initialAdminPassword
  1. 输入密码,进行配置(我选推荐的插件):
    默认推荐 自动安装配置插件中... 可以新建,也可以直接用admin(我跳过) 没太懂,就确认吧 可以进jenkins系统了 进来先把初始密码改成简单的,直接写新密码后重新登录即可。

3、设置中文界面

1. 安装中文插件

首页 - Manage Jenkins(管理) - Plugins(插件)。

左侧选"Available plugins"(可用的插件,即插件市场),搜索"Locale"插件并安装,这是管理jenkins语言的插件。


点击"go back to the top page",会返回首页。

再搜索"Localization: Chinese (Simplified)"并安装,这是中文语言包。

返回上一页,左侧选中"Installed plugins"(已安装的插件)。如下,可见两个插件已安装和启用:

2. 重启Jenkins服务

重启有2种方式:① docker命令;② 界面开关。

对于docker方式启动的服务,使用docker命令重启。尝试发现界面重启,关闭后无法启动。

① docker命令重启:

  1. docker ps,查看容器列表,获取容器id或名称
  2. docker restart 容器id或name ,重启容器/服务
bash 复制代码
tuxiaomao@bogon ~ % docker ps      
CONTAINER ID   IMAGE                 COMMAND                   CREATED        STATUS        PORTS                                              NAMES
b9226fe142c3   jenkins/jenkins:lts   "/usr/bin/tini -- /u..."   20 hours ago   Up 20 hours   0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   jenkins

tuxiaomao@bogon ~ % docker restart jenkins
jenkins

3. 刷新浏览器看效果

界面已经更新为中文(根据插件情况,部分字段可能未翻译)。

4、jenkins创建接口自动化定时任务

docker启动的jenkins容器内无python,无法使用机器已装的python,决定更换jenkins安装方式,使用brew安装jenkins。

相关推荐
程序喵大人5 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl
风曦Kisaki6 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
张忠琳6 小时前
【NVIDIA】NVIDIA k8s-device-plugin v0.19.3 资源管理器模块深度分析之三
云原生·容器·架构·kubernetes·nvidia
毛驴赶鹿7 小时前
低配置服务器怎么搭建监控?Komari Docker部署与公网访问完整教程
运维·服务器·docker
Chengbei118 小时前
云安全漏洞挖掘SKILL、一站式云漏洞挖掘工具,支持S3爆破、IMDS探测、K8s检测与AK/SK权限利用
前端·人工智能·网络安全·云原生·容器·kubernetes·系统安全
Ai拆代码的曹操9 小时前
K8s 调度器 predicate 阶段揭秘:为什么你的 Pod 总是堆在同一台机器
后端·容器
Ai拆代码的曹操9 小时前
手摸手排查:Pod CrashLoopBackOff 日志丢失问题,3 层兜底方案
后端·容器
张忠琳10 小时前
【NVIDIA】k8s-device-plugin v0.19.3 — CDI / MIG / vGPU 模块超深度代码分析之五
云原生·容器·架构·kubernetes·nvidia
砍材农夫10 小时前
运维|devops|jenkins构建分支选择及执行日志展示
运维·jenkins·devops
冷莫溪10 小时前
Docker——3.Harbor 核心架构与原理详解
docker·容器·架构