前提环境
Linux系统、docker环境、maven、git、jdk
步骤
一、使用docker拉取jenkins镜像
-
docker search jenkins
-
docker pull jenkins/jenkins
-
查看本地镜像
docker images
二、在宿主机创建jenkins挂载目录并授权
-
# 目录自定义 mkdir -p /home/local/jenkins_home chmod 777 /home/local/jenkins_home
三、启动jenkins镜像
-
docker run --name myjenkins -p 9995:8080 -p 50001:50000 \ --restart=always -u root \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/bin/docker \ -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \ -v /var/lib/docker/tmp:/var/lib/docker/tmp \ -v /home/local/jenkins_home:/var/jenkins_home \ -v /etc/localtime:/etc/localtime \ -v /usr/local/maven/apache-maven-3.8.6:/usr/local/maven \ -d jenkins:1.25.5
上述命令说明:
1. --restart=always #Docker重启后该容器也为随之重启
2. -u root
#以root的身份去运行镜像(避免在容器中调用Docker命令没有权限)
#最好使用docker用户去运行
3. -v $(which docker):/bin/docker
#将宿主机的docker命令挂载到容器中
#可以使用which docker命令查看具体位置
4. -v /var/run/docker.sock:/var/run/docker.sock
#容器中的进程可以通过它与Docker守护进程进行通信
5. -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
#libltdl.so.7是Docker命令执行所依赖的函数库
#容器中library的默认目录是 /usr/lib/x86_64-linux-gnu/
#把宿主机的libltdl.so.7 函数库挂载到该目录即可
#可以通过whereis libltdl.so.7命令查看具体位置
#centos7位置/usr/lib64/libltdl.so.7
#ubuntu位置/usr/lib/x86_64-linux-gnu/libltdl.so.7
6. -v /home/local/jenkins_home:/var/jenkins_home
#将运行的docker镜像目录挂载到本地的/home/local/jenkins_home目录
7. -v /usr/local/maven/apache-maven-3.8.6:/usr/local/maven
#将本地的maven拷贝到镜像对应目录
8. -v /etc/localtime:/etc/localtime
#保持镜像和宿主机时间一致
9. -d #后台运行镜像
-
运行上述命令,查看jenkins容器日志,是否启动成功
docker logs -f 容器id/名称
-
进入镜像
docker exec -it 容器id/名称
-
在容器中运行以下命令,如果没出错,成功一半了
docker ps ls
四、配置jenkins
- 在日志中找到密码,复制输入下一步,安装推荐的插件,直到配置完成。
- 后续就是全局配置,需要中文的可以下载插件,之后指定位置输入zh_CN , 切换中文