# 1. 构建基础镜像

# Dockerfile

FROM jenkins/jenkins:2.164.2-alpine
# if we want to install via apt
USER root
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk update && apk add git gradle maven
# drop back to the regular jenkins user - good practice
USER jenkins

注意版本的问题

不要使用 latest 版本,出了问题,容易忽略构建时间,其实内容不一致

# 构建命令

docker build -t jenkins/jenkins:2.164.2-alpine .

# 2. 使用 docker-compose 运行

version: "2"
services:
  jenkins:
    restart: always
    image: jenkins/jenkins:2.164.2-alpine
    container_name: jenkins-test
    ports:
      # 发布端口
      - 8080:8080
      # 基于 JNLP 的 Jenkins 代理通过 TCP 端口 50000 与 Jenkins master 进行通信
      - 50000:50000
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data:/var/jenkins_home

# 附录

# 1. 修改 alpine 为国内源

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

# 2. alpine 设置时区

environment:
  TZ: Asia/Shanghai

# 3. jenkins 的下载地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.176.1/jenkins.war