封尘网

让学习成为一种习惯!

以Docker方式运行的Jenkins

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

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

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

1、pull一个Jenkins的镜像下来;

docker pull jenkins     [官方最新的是Jenkins 2.19.4,镜像大小约715M左右]

如果不喜欢可以自己搜一个:

docker search jenkins

2、直接启动容器:

[root@docker ~]# docker run -d -t --name=jenkins -p 8080:8080 -v /tmp/jenkins/:/var/jenkins jenkins
a2dfd14dc493da2911e57b28b6bee44b7c94dd4519c0f56fb9bfdd3b9b8dd755

查看运行中的容器

[root@docker ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
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”

[root@docker ~]# docker inspect jenkins|grep "Source"
                "Source": "/tmp/jenkins",
                "Source": "/var/lib/docker/volumes/618609f93ed3017df0aed31484e263373959aa016878fd35e452e137781bd448/_data"

可以看到上面第二行就是宿主机主的真实路径;
根据网页上的提示:


/var/jenkins_home/secrets/initialAdminPassword

那么这个文件的绝对路径就:

/var/lib/docker/volumes/618609f93ed3017df0aed31484e263373959aa016878fd35e452e137781bd448/_data/secrets/initialAdminPassword

cat读出密码:

[root@docker ~]# cat /var/lib/docker/volumes/618609f93ed3017df0aed31484e263373959aa016878fd35e452e137781bd448/_data/secrets/initialAdminPassword
d91f5d266cf54a24b4505c9767b73420        【密码在此】

一句话搞定:【其它挻麻烦的】

[root@docker ~]# cat `docker inspect jenkins|grep "Source"|sed 1d|awk -F : '{print $2}'|sed 's#"##g'|sed 's#,##'`/secrets/initialAdminPassword
d91f5d266cf54a24b4505c9767b73420

可看到到上面的就是密码了:

回到网页上输入刚才的密码 继续——选择右边的手动安装插件,系统推荐的插件不一定你都会全用到;可以进入管理界面后再根据需要安装;

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

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

其它看着下一步就好了;这样的做法好处是可以快速扩容Jenkins集群;

更多详细的配置可以查看:https://github.com/jenkinsci/docker

提醒:本文最后更新于 1086 天前,文中所描述的信息可能已发生改变,请谨慎使用。