docker部署jenkins

为什么会有本文?
问题:使用tomcat部署jenkins步骤繁琐,且依赖服务器环境;
处理:使用docker部署jenkins;
优点:安装卸载方便,开机自启方便;
步骤:

  1. 安装docker
  2. 拉取jenkins/jenkins镜像
  3. 启动jenkins容器
#!/bin/bash

# 容器挂载宿主机的目录
jenkins_volume_dir=/var/lib/jenkins/
# 初始化挂载目录
if [ -d$jenkins_volume_dir ];
then
	sudo rm -rf $jenkins_volume_dir
fi
sudo mkdir $jenkins_volume_dir
# jenkins默认以1000这个用户运行,给运行jenkins的用户rwx挂载目录的权限(通过更改所有者方便一点)
sudo chown -R 1000:1000 $jenkins_volume_dir
# 创建容器
docker run \
	-d \  # 后台模式
	--name myjenkins \ # 容器名称
	-p 8090:8080 \ # 端口,访问宿主机的8090就会访问到容器的8080端口的jenkins
       	-p 50000:50000 \ # 端口,不知道有什么用,但是需要这样
	-v $jenkins_volume_dir:/var/jenkins_home \ # 挂载目录,jenkins数据持久化(否则删除容器,jenkins数据会被删除)
	jenkins/jenkins # 源镜像

旧笔记

mkdir /var/jenkins_home
chown 777 /var/jenkins_home
docker run
-d # 后台运行,不进入容器命令行
--restart=always # docker启动,容器自动启动
-uroot # root用户执行命令,防止没有权限操作某些数据
-p 8080:8080 # 容器8080端口映射宿主8080端口
-p 50000:50000 # ???
-v /var/jenkins_home:/var/jenkins_home # 挂载数据文件到宿主机,防止删除容器数据丢失
-v /etc/localtime:/etc/localtime # jenkins容器时间与服务器一致
-v /usr/bin/docker:/usr/bin/docker # 挂载docker命令,可以使用docker命令
-v /var/run/docker.sock:/var/run/docker.sock # 挂载docker环境变量配置
--name jenkins # 容器名称
jenkins/jenkins # 镜像名称


参考
http://t.zoukankan.com/little-ab-p-12974139.html

-- 问题
![](https://img2022.cnblogs.com/blog/1849770/202205/1849770-20220501232230514-972503866.png)

![](https://img2022.cnblogs.com/blog/1849770/202205/1849770-20220501232146569-1054019276.png)

-- 处理

![](https://img2022.cnblogs.com/blog/1849770/202205/1849770-20220501232325855-1289154816.png)

缺少path参数

![](https://img2022.cnblogs.com/blog/1849770/202205/1849770-20220501232347349-1463555515.png)

-- 问题
![](https://img2022.cnblogs.com/blog/1849770/202205/1849770-20220501232640508-2084420490.png)
![](https://img2022.cnblogs.com/blog/1849770/202205/1849770-20220501233002339-1757476628.png)

-- 处理
</details>
posted @ 2022-06-11 14:49  花兒向陽開  阅读(70)  评论(0编辑  收藏  举报