以Docker方式运行的Jenkins

在使用Docker之后发现真的方便很多了,以前创建个虚机测试环境,安装系统,克隆,快照,更重要的是多个虚机开启时机器内存吃得快。自从用了Docker后机器没那么卡了,腰也不疼了,腿也好了;

网上很多网友都以Docker 的方式做为开发环境,测试环境、还是白帽测试等,其实真的很方便;以后将不断的在Docker环境下进行各类实验了;

本次  以Docker方式启动Jenkins,由于公司之前使用的版本相对比较低,现在更新多个版后,拿个新版本来测试一下;

 
1、pull一个Jenkins的镜像下来;
 
  1. docker pull jenkins     [官方最新的是Jenkins 2.19.4,镜像大小约715M左右] 
如果不喜欢可以自己搜一个:
 
  1. docker search jenkins 
2、直接启动容器:
 
  1. [root@docker ~]# docker run -d -t --name=jenkins -p 8080:8080 -v /tmp/jenkins/:/var/jenkins jenkins 
  2. a2dfd14dc493da2911e57b28b6bee44b7c94dd4519c0f56fb9bfdd3b9b8dd755 
#查看运行中的容器
 
  1. [root@docker ~]# docker ps 
  2. CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES 
  3. a2dfd14dc493        jenkins             "/bin/tini -- /usr/lo"   13 seconds ago      Up 13 seconds       0.0.0.0:8080->8080/tcp, 50000/tcp   jenkins 
 
打开浏览器输入IP:8080即可看到页面,新版本都会要要求输入一个文件的密码验证;怎么找到这个密码保存在哪里了,根据网页上的文件路径找不着;因为它是在容器里面的,除非你进入容器里复制出来咯,可是我们上面的运行命令无法进入到容器里啊;
 
方法很简单,挂载到Docker里的数据目录是可以在宿主机里找到的;
第一步:通过上面的别名或者容器的ID查找关键字:"Source"
 
  1. [root@docker ~]# docker inspect jenkins|grep "Source" 
  2.                 "Source": "/tmp/jenkins", 
  3.                 "Source": "/var/lib/docker/volumes/618609f93ed3017df0aed31484e263373959aa016878fd35e452e137781bd448/_data", 
可以看到上面第二行就是宿主机主的真实路径;
根据网页上的提示:
/var/jenkins_home/secrets/initialAdminPassword
 
那么这个文件的绝对路径就:
 
  1. /var/lib/docker/volumes/618609f93ed3017df0aed31484e263373959aa016878fd35e452e137781bd448/_data/secrets/initialAdminPassword 
cat读出密码:
 
  1. [root@docker ~]# cat /var/lib/docker/volumes/618609f93ed3017df0aed31484e263373959aa016878fd35e452e137781bd448/_data/secrets/initialAdminPassword 
  2. d91f5d266cf54a24b4505c9767b73420        【密码在此】 
 
一句话搞定:【其它挻麻烦的】
 
  1. [root@docker ~]# cat `docker inspect jenkins|grep "Source"|sed 1d|awk -F : '{print $2}'|sed 's#"##g'|sed 's#,##'`/secrets/initialAdminPassword 
  2. d91f5d266cf54a24b4505c9767b73420 
 
可看到到上面的就是密码了:
 
回到网页上输入刚才的密码 继续——选择右边的手动安装插件,系统推荐的插件不一定你都会全用到;可以进入管理界面后再根据需要安装;
 

 建议选择右边的手动选择安装插件:

 

选择None,不安装插件,等进入系统后再安装;

 
其它看着下一步就好了;这样的做法好处是可以快速扩容Jenkins集群;
 
更多详细的配置可以查看:https://github.com/jenkinsci/docker