打包镜像
FROM docker.xyh.moe/jenkins/jenkins:lts-jdk21
USER root
# 写入 Debian 主源
RUN tee /etc/apt/sources.list.d/debian.sources > /dev/null <<EOF
Types: deb
URIs: https://mirrors.nju.edu.cn/debian
Suites: bookworm bookworm-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
# 写入 Debian 安全更新源
RUN tee /etc/apt/sources.list.d/debian-security.sources > /dev/null <<EOF
Types: deb
URIs: https://mirrors.nju.edu.cn/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
# 添加 Docker GPG key
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://mirrors.nju.edu.cn/docker-ce/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
chmod a+r /etc/apt/keyrings/docker.gpg
# 写入 Docker 源
RUN tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://mirrors.nju.edu.cn/docker-ce/linux/debian
Suites: bookworm
Components: stable
Signed-By: /etc/apt/keyrings/docker.gpg
EOF
# 安装 Docker CE
RUN apt-get update && \
apt-get install -y docker-ce && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 将 jenkins 用户加入 docker 组
RUN usermod -aG docker jenkins
USER jenkins
启动
name: jenkins
services:
jenkins:
build:
context: .
dockerfile: Dockerfile
image: docker.xyh.moe/jenkins/jenkins:lts-jdk21-docker
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- 8080:8080
volumes:
- "./data:/var/jenkins_home"
- "/var/run/docker.sock:/var/run/docker.sock"