在docker容器中运行jenkins

一、准备工作

1.ubuntu14.04

2.安装好docker环境


二、搭建过程

1.搜索jenkins镜像文件并拉取

sudo docker search jenkins   //搜索jenkins的镜像文件
sudo docker pull jenkins     //拉取官方的最新的jenkins文件(在上一篇文章中已经设置了网易代理)

2.运行jenkins镜像作为容器

运行命令如下:

sudo docker run -d -p 8099:8080 -v /opt/data/jenkins_home:/var/jenkins_home --name wjenkins jenkins:latest

-d 是后台启用jenkins服务
-p 是端口映射
-v 是数据挂载
--name 是为容器命名
***因为要经常使用,所以就不用-rm参数了***

执行以上命令就已经成功地在docker中运行jenkins了,然后再在浏览器中输入ip:8099就会访问jenkins了,是不是so easy呢?


三、Q&A

1.为什么在docker中运行了jenkins下载了一些插件,下次运行的时候还是要重新下载

这是因为没有使用数据挂载,数据源没有保留在宿主机上

2.为什么按照以上操作,容器却启动不起来,使用sudo docker ps命令发现该容器并没启动

*这是因为启动jenkins的用户一般来说是其他用户,所以映射的宿主机的目录没有权限进行操作。

3.jenkins镜像文件下载太慢

这是因为没有设置国内代理,具体的可以参考:docker学习之搭建自己的本地镜像仓库


四、其他

1.背景

我在虚拟机中打开网页太卡,因此想通过直接在windows的窗口中访问虚拟机的docker容器中的jenkins

2.做法

#查看虚拟机的ip地址
ifconfig  //我的虚拟机的ip是192.168.147.129
然后在windows的浏览器窗口中输入192.168.147.129:8099即可

这里采用的另外一种方案,因为输入ip地址麻烦不容易记住:更改windows的dns解析

  1. 找到C:\Windows\System32\drivers\etc\host文件
  2. 在最后添加一行 192.168.147.129 jenkins
  3. 在浏览器窗口输入 jenkins:8099,出现以下界面即为成功

3.将该jenkins镜像文件推送到自己的本地仓库

sudo docker tag jenkins:latest 192.168.147.129:5000/jenkins  //打tag
sudo docker push 192.168.147.129:5000/jenkins  //推送

五、总结

其实在docker容器中运行jenkins的操作步骤挺简单的,我第一次启动容器成功了,但是发现自己并没有给容器命名,然后将该容器删掉,重新运行后却意外的发现自己的容器一直启动失败,经过长时间和错误做斗争,才发现是由于启动jenkins的用户对宿主机上的挂载目录没有权限导致的.

如果对文章有疑问或者哪里不懂的请联系我,在力所能及的范围内帮助解答;如果文章有错误,也欢迎指出。

知乎链接:https://zhuanlan.zhihu.com/p/38582629

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章