This guide provides steps to set up Jenkins BlueOcean using Docker, with minimal and straightforward instructions.
- Docker installed on your system.
- Basic understanding of Docker commands.
Option A: Build the image locally
docker build -t myjenkins-blueocean:2.489-jdk17 .
Option B: Pull a pre-built image
docker pull jenkins/jenkins:2.489-jdk17
docker tag jenkins/jenkins:2.489-jdk17 myjenkins-blueocean:2.489-jdk17
docker network create jenkins
docker run --name jenkins-blueocean --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-blueocean:2.489-jdk17
Command with Multiple Lines for PowerShell
docker run `
--name jenkins-blueocean `
--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-blueocean:2.489-jdk17
Command with Single Lines for PowerShell
docker run --name jenkins-blueocean --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-blueocean:2.489-jdk17
docker exec jenkins-blueocean cat /var/jenkins_home/secrets/initialAdminPassword
Open your browser and navigate to: http://localhost:8080
Use the retrieved admin password to unlock Jenkins.
Run an Alpine/socat container to forward traffic to Docker Desktop:
docker run -d --restart=always -p 127.0.0.1:2376:2375 --network jenkins \
-v /var/run/docker.sock:/var/run/docker.sock alpine/socat \
tcp-listen:2375,fork,reuseaddr unix-connect:/var/run/docker.sock
Verify the container IP:
docker inspect <container_id> | grep IPAddress
Pull and use the pre-built Python agent for Jenkins:
docker pull devopsjourney1/myjenkinsagents:python