|
|
| Line 1: |
Line 1: |
| == Jenkins Network == | | == Pull Image == |
| <syntaxhighlight lang=bash> | | <syntaxhighlight lang=bash> |
| docker network create jenkins
| | docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:lts-jdk17 |
| </syntaxhighlight>
| |
| | |
| == docker:dind ==
| |
| <syntaxhighlight lang=bash>
| |
| docker run \ | |
| --name jenkins-docker \
| |
| --rm \
| |
| --detach \
| |
| --privileged \
| |
| --network jenkins \
| |
| --network-alias docker \
| |
| --env DOCKER_TLS_CERTDIR=/certs \
| |
| --volume jenkins-docker-certs:/certs/client \
| |
| --volume jenkins-data:/var/jenkins_home \
| |
| --publish 2376:2376 \
| |
| docker:dind \
| |
| --storage-driver overlay2
| |
| </syntaxhighlight>
| |
| | |
| == Jenkins Docker Image ==
| |
| <syntaxhighlight lang=bash>
| |
| FROM jenkins/jenkins:2.492.3-jdk17
| |
| USER root
| |
| RUN apt-get update && apt-get install -y lsb-release ca-certificates curl && \
| |
| 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" \
| |
| | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
| |
| apt-get update && apt-get install -y docker-ce-cli && \
| |
| apt-get clean && rm -rf /var/lib/apt/lists/*
| |
| USER jenkins
| |
| </syntaxhighlight>
| |
| Lalu Build
| |
| <syntaxhighlight lang=bash>
| |
| docker build -t myjenkins .
| |
| </syntaxhighlight>
| |
| Lalu Run
| |
| <syntaxhighlight lang=bash>
| |
| docker run \
| |
| --name jenkins-container \
| |
| --restart=on-failure \
| |
| --detach \
| |
| --network jenkins \
| |
| --env DOCKER_HOST=tcp://docker:2376 \
| |
| --env DOCKER_CERT_PATH=/certs/client \
| |
| --env DOCKER_TLS_VERIFY=1 \
| |
| --publish 8080:8080 \
| |
| --publish 50000:50000 \
| |
| --volume jenkins-data:/var/jenkins_home \
| |
| --volume jenkins-docker-certs:/certs/client:ro \
| |
| myjenkins
| |
| </syntaxhighlight> | | </syntaxhighlight> |
Pull Image
docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:lts-jdk17