version: '3.8' # 兼容主流 Docker 版本
services:
jenkins:
# 镜像地址(直接使用你提供的华为云 SWR 地址)
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jenkins/jenkins:lts-jdk21
container_name: jenkins-jdk21 # 容器名称,便于管理
restart: always # 容器退出时自动重启(故障自愈)
privileged: true # 授予特权(解决宿主机文件挂载权限问题)
user: root # 使用 root 用户运行(避免 Jenkins 内部权限不足)
ports:
- "8009:8080" # Web 访问端口(宿主机:容器)
- "50000:50000" # 代理节点通信端口(Jenkins 主从架构必备)
environment:
- TZ=Asia/Shanghai # 时区同步(避免日志/构建时间混乱)
- JAVA_OPTS=-Xms512m
- JAVA_OPTS=-Xmx1024m
volumes:
# 挂载宿主机 Docker 客户端(允许 Jenkins 内部构建 Docker 镜像)
- /var/run/docker.sock:/var/run/docker.sock
networks:
- jenkins_network # 独立网络,隔离其他服务
# 自定义网络(推荐,避免端口冲突和网络混乱)
networks:
jenkins_network:
driver: bridge