Skip to content
On this page

Docker部署CI/CD服务--Jenkins

Jenkins是一款有Java编写的CI/CD工具,可以说是开源CI/CD历史最长的软件之一,本文将介绍使用Docker安装Jenkins以及如何在Jenkins容器中使用docker。

Docker部署

1. 创建启动脚本

sh
mkdir -p /data/jenkins/data
cd /data/jenkins
touch start.sh
chmod +x start.sh

2. vim写入脚本

sh
vim start.sh

# 写入以下脚本

# !/bin/bash
docker run -d \
  --name jenkins \
  --restart always \
  --log-opt max-size=1m \
  -p 7500:8080 -p 7501:50000 \
  -v /data/jenkins/data:/var/jenkins_home \
  jenkins/jenkins:latest
  • --name 指定容器名称
  • -p 7500:8080 -p 7501:50000 映射端口,如果使用docker自定义桥接网络nginx转发则无需映射
  • -v 存储目录:/var/jenkins_home 指定存储目录

3. 执行脚本./start.sh,访问Ip:7500即可

第一次登录需要解锁密码,使用docker logs jenkins -f,提示中password就是解锁密码。

在Jenkins容器中使用docker

使用Jenkins时,我们经常需要使用docker打包项目,但是此时jenkins运行在一个docker容器中,那么要使用docker不外乎两个方法。

1. 在docker容器中安装docker(不推荐)

不推荐这个方法,在容器中安装docker重启后又要重新安装,除非你重新打包jenkins镜像加入docker,太费力。

2. docker容器共享宿主机的docker应用

docker启动时,将docker执行文件sock文件映射进去即可。

sh
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \

注意如果此处报错提示docker.sock文件不存在,请检查你安装的是否真的是docker,作者踩过这个坑,折腾半天,发现自己用的不是docker而是个podman,真是谢谢你了yum仓库!yum install docker安装的是podman并且alias成了docker,不注意看真的发现不了。docker-ce安装可以查看博主文章使用yum、apt阿里源自动安装docker-ce与docker-compose

上次更新于: