一、準備工作
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解析
- 找到C:\Windows\System32\drivers\etc\host文件
- 在最後添加一行 192.168.147.129 jenkins
- 在瀏覽器窗口輸入 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