在 Mac M1 上使用 Docker 运行 Jenkins

在 Mac M1 上使用 Docker 运行 Jenkins,你需要注意以下几点:

1. 安装 Docker Desktop

首先,确保你已在 Mac M1 上安装并配置了 Docker Desktop。你可以从 Docker 官方网站 下载并安装适用于 Apple Silicon(M1)的版本。

2. 拉取 Jenkins 镜像

为了使用 Jenkins,你需要拉取 Jenkins 的 Docker 镜像。可以运行以下命令:

bash 复制代码
docker pull jenkins/jenkins:lts

lts 是 Jenkins 的长期支持版本。如果你需要其他版本的 Jenkins,可以根据需要指定不同的标签。

3. 配置 Jenkins 容器

可以通过以下命令启动 Jenkins 容器:

bash 复制代码
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --restart unless-stopped jenkins/jenkins:lts

参数说明:

  • -d:后台运行容器
  • -p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口,这是 Jenkins Web 界面的默认端口。
  • -p 50000:50000:将主机的 50000 端口映射到容器的 50000 端口,这是用于 Jenkins 节点之间通信的端口。
  • --name jenkins:为容器指定名称为 jenkins
  • --restart unless-stopped:容器停止时,自动重启,除非手动停止。

4. 获取 Jenkins 初始密码

容器启动后,首次访问 Jenkins Web 界面时,需要提供初始管理员密码。可以通过以下命令获取初始密码:

bash 复制代码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

这会输出一个随机生成的密码,复制它。

5. 访问 Jenkins Web 界面

在浏览器中访问 http://localhost:8080,输入之前获取的初始管理员密码。

6. 安装推荐插件

完成初始设置后,Jenkins 会提示你安装插件。可以选择安装 "推荐插件" 来快速配置 Jenkins 环境。

7. 配置完成后

安装插件并设置 Jenkins 后,你就可以创建任务和配置 Jenkins 环境以执行 CI/CD 流程。

注意事项

  • M1 特性 :由于 Apple Silicon(M1)芯片架构的不同,某些 Docker 镜像可能需要特定的支持。确保使用适用于 ARM64 架构的镜像,Jenkins 官方的 jenkins/jenkins:lts 镜像应该已经为 ARM64 架构提供了支持。

  • 持久化数据 :如果你希望保存 Jenkins 的配置和构建数据,可以将 /var/jenkins_home 目录映射到主机上的某个目录。例如:

    bash 复制代码
    docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --restart unless-stopped -v /your/local/directory:/var/jenkins_home jenkins/jenkins:lts

这样,Jenkins 的所有数据都会保存到指定的本地目录中。

希望这些步骤对你有所帮助!如果你有其他问题,随时告诉我。

相关推荐
小p1 天前
docker学习7:docker 容器的通信方式
docker
小p1 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p1 天前
docker学习3:docker是怎么实现的?
docker
pe7er2 天前
macOS 应用无法打开(权限问题)解决方案
macos·mac
小p2 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p3 天前
docker学习: 1. docker基本使用
docker
崔小汤呀3 天前
Docker部署Nacos
docker·容器
缓解AI焦虑3 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter4 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker