diff options
Diffstat (limited to 'jenkins/Dockerfile')
| -rw-r--r-- | jenkins/Dockerfile | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/jenkins/Dockerfile b/jenkins/Dockerfile new file mode 100644 index 0000000..74ba470 --- /dev/null +++ b/jenkins/Dockerfile @@ -0,0 +1,24 @@ +FROM jenkins/jenkins:lts + +USER root + +# Install Docker CLI so Jenkins can spawn sibling containers via host's docker.sock +RUN apt-get update && apt-get install -y \ + ca-certificates \ + curl \ + gnupg \ + && install -m 0755 -d /etc/apt/keyrings \ + && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \ + && chmod a+r /etc/apt/keyrings/docker.asc \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list \ + && apt-get update \ + && apt-get install -y docker-ce-cli \ + && rm -rf /var/lib/apt/lists/* + +# Add jenkins user to docker group so it can use docker.sock +RUN groupadd -f docker && usermod -aG docker jenkins + +USER jenkins + +# Pre-install Docker Pipeline plugin (enables agent { docker { image '...' } } in Jenkinsfiles) +RUN jenkins-plugin-cli --plugins "docker-workflow" |
