Docker是一個開源的應用容器引擎,可以打包應用以及依賴包到一個可移植的鏡像中,然後發佈到系統的機器上;而Jenkins是一個功能強大的應用程序,可以處理任何類型的建置或持續整合。
本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。
Docker 是一個開源的應用程式容器引擎,基於 Go 語言 並遵從Apache2.0協定開源。而Jenkins是一個功能強大的應用程序,允許持續整合和持續交付項目,無論用的是什麼平台。這是一個免費的源代碼,可以處理任何類型的建置或持續整合。整合Jenkins可以用於一些測試和部署技術。 Jenkins是一種軟體允許持續整合。
初期在本機安裝了一個centos7,然後在虛擬機中安裝了docker,然後去拉取jenkins鏡像,首先對於新手遇到的第一個坑是,鏡像拉取半天卡在某一個進程不進行下去了(原因和maven差不多,因為預設倉庫是國外伺服器比較慢),所以我們可以選擇國內的一些倉庫來拉取我是用的是網易的,首先你需要直到你的鏡像的地址例如jenkins 的是這個(library目錄下的)/library/jenkins:latest
然輸入指令列
docker pull hub.c.163.com/library/jenkins:latest
鏡像下完後可以檢視一下全部的鏡像
docker ps -a
然後就可以開始建立我們的Jenkins工作台了:(下面這是官方倉庫下載的鏡像所以最後是jenkins,如果是網易下載的就用他們的全名稱,在上一步可以查看到)
sudo docker run -d --name jenkins_node -p 49002:8080 -v /var/jenkins_node:/var/jenkins_home jenkins:latest
這一步有很多參數,我解釋一下(大佬請略過...針對新手)-d 是為了讓jenkins這個容器可以再後台運行,不至於你把命令窗口一關服務也掛了, --name就是你這個容器的名稱(隨便取,當時取了我主管的名字差點被打死。。。) -p 這是把容器的8080連接埠映射成49002 這樣我們在實際頁面中訪問的就是49002這個位址啦,接下來就是-v 這個參數了,這一步很容易踩坑(起碼我作為一個linux不太熟悉的人來說踩了很多坑)這個參數是把你伺服器(現在也就是你的虛擬機)上的/var/jenkins_node目錄掛載到容器的/var/jenkins_home目錄上,請注意:運行完上面圖中的命令列前請一定記得查看一下當前用戶對/var 資料夾是否有讀取權利,不然後面讓給你輸入jenkins初始登入密碼時你會發現壓根就沒有這個檔案。 。 。 linux如何修改檔案權限?建議大家自行百度
好了繼續講下一步:如果上一步的資料夾已經產生了可以跳過這裡。
上一步因為權限問題,/var/jenkins_node資料夾沒有產生這時候我們需要先暫停容器的服務
docker ps -a
找到剛才那個jenkins容器的id複製下來分別去執行以下操作進行,容器停止和刪除容器
docker stop (複製的ID)
docker rm (複製的ID)
然後再重複這一步 sudo docker run -d - -name jenkins_node -p 49002:8080 -v /var/jenkins_node:/var/jenkins_home jenkins:lates
下面在瀏覽器造訪http://host:49002 ,會出現如下介面
這時候去你剛才的那個/var/jenkins_node資料夾下搜initialAdminPassword這個檔案吧初始登入密碼複製進去就可可以進入了,下一步是詢問你下載預設插件還是自定義(建議新手直接選第一個,方便,後期需要什麼去插件管理中心內在下載)
,插件下載完後就是你的帳號密碼設定了,這個就不截圖了。下面就可以進入到你的工作台去部署你的專案了
推薦學習:《docker影片教學》
以上是docker和jenkins是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!