使用docker部署jenkins
1. 使用docker:dind镜像启动容器
docker network create jenkins
docker run --name jenkins-docker --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
2. 构建jenkins docker镜像
2.1 jenkins Dockerfile
FROM jenkins/jenkins:2.409
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
2.2 根据Dockerfile构建镜像
docker build -t myjenkins-blueocean:2.409-1 .
3. 启动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.409-1
获取密码
docker exec jenkins-blueocean cat /var/jenkins_home/secrets/initialAdminPassword
输出
17969ad0647c4b359fec026818a0a80e
4. 登录jenkins
打开浏览器 输入 http://${YOUR_SERVER_IP}:8080
用户名: admin
密码: 17969ad0647c4b359fec026818a0a80e