1 Docker的安装 这里就不说了网上一大把
2 .构建image
docker pull jenkins/jenkins:lts
如果docker pull jenkins 会出错 版本太老了 在后面回有提示 什么插件没有什么的
看日志就会看见插件不匹配什么 这个没有截图 凑合看吧
提示语应该是 No such plugin: cloudbees-folder
3 .在启动Jenkins时,需要先创建一个Jenkins的配置目录,并且挂载到docker 里的Jenkins目录下.
mkdir -p /var/jenkins_home
这个随便啊 就是映射Jenkins的文件
4 .修改目录权限(很重要的!)
chown -R 1000 /var/jenkins_home
5 创建容器
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins
前面那个8080是宿主机端口
6 进入Jenkins 输入密码 因为我们之前把对应的文件挂载了 可以直接在宿主机对应文件里查看密码
cat /var/jenkins_home/secrets/initialAdminPassword`
这样就行了
2021.5.31 补充
因为有可能在jenkins 里运行docker 所以我在这里加以补充
- JDK安装
cd /usr/local
mkdir java
上传jdk-8u144-linux-x64.tar.gz包至java目录下
解压 tar -zxvf jdk-8u144-linux-x64.tar.gz
配置环境变量 vim /etc/profile
在其末尾添加如下路径
cd /usr/local
mkdir java
上传jdk-8u144-linux-x64.tar.gz包至java目录下
解压 tar -zxvf jdk-8u144-linux-x64.tar.gz
配置环境变量 vim /etc/profile
在其末尾添加如下路径
export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
重新加载配置文件source /etc/profile
检查jdk是否安装成功 java -verison
- Maven安装
cd /usr/local
mkdir maven
下载maven3.6.3
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压 tar -zxvf apache-maven-3.6.3-bin.tar.gz
配置环境变量 vim /etc/profile
在其末尾添加如下路径
export M2_HOME=/usr/local/maven/apache-maven-3.6.3
export PATH={M2_HOME}/bin
重新加载配置文件source /etc/profile
检查jdk是否安装成功 mvn -verison
- Jenkins安装
下载jenkins镜像
docker pull jenkins/jenkins
运行jenkins容器
docker run -d -p 8080:8080 -p 50000:50000 -v
/var/jenkins_home:/var/jenkins_home -v
var/run/docker.sock:/var/run/docker.sock -v
usr/bin/docker:/usr/bin/docker -v /etc/localtime:/etc/localtime
-v usr/local/maven/apache-maven-3.6.3:/usr/local/maven --name jenkins
-u root --restart always jenkins/jenkins
运行命令参数解释
–restart always 在容器停止运行的时候,重启容器。用于开机自启和容器意外关闭时的自启动
-v /var/jenkins_home:/var/jenkins_home 将宿主机的 /home/jenkins_home 目录挂载到 /var/jenkins_home。这样做是为了把Jenkins文件存放到宿主机上,就算容器被删除了,新建一个新的容器内容也不会丢失。
-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins容器与Docker守护进程通信, 如果jenkins容器需要实例化其他Docker容器,则该守护进程是必需的。
-v /usr/local/maven/apache-maven-3.6.3:/usr/local/maven 挂在Maven目录
-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置
–net host 容器使用宿主机的网络。jenkins默认是8080端口,用这条参数,不会修改端口,如果要改端口,请使用 -p
-p 8080:8080 -p 50000:50000 将容器的8080端口映射到宿主机的8080端口 将容器的50000端口映射到宿主机的50000端口
–name jenkins 给容器命名
-d 容器后台运行
访问 http://IP:8080 后出现输入初始化密码
cat /root/jenkins_home/secrets/initialAdminPassword