daemon.json无法启动docker_devops一键部署|详解如何搭建git+maven+jenkins+docker
流程及原理
流程梳理:
微服務一鍵部署實現后只需要將測試好的代碼提交至版本管理工具(如:git、SVN),程序會自動實現更新代碼并打包發布等后面的流程,省心省力。
實現過程
前置環境:
默認已經裝好Jenkins、maven、docker和git,我的Jenkins也在docker容器中運行的,由于在Jenkins容器中默認無法使用docker命令,所以在Jenkins啟動時需要加入以下參數:
如果還是無法使用,為了省時,推薦使用下面集成好的Jenkins鏡像,Dockerfile:
同時啟動時還是得加上面提到的參數,啟動命令如下:
$ docker run --name jenkins -p 7080:8080 -p 50000:50000 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /var/docker_data/jenkins/jenkins_home:/var/jenkins_home -v /var/docker_data/jenkins/settings:/var/settings -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -d my-jenkins正式開始:
1、 在程序的Pom.xml文件中加入docker-maven-plugin插件,如下:
需要說明的是dockerHost指定的是使用哪個主機的docker,如果不填寫,則默認為本機,由于我的Jenkins在docker容器中與宿主機互不相通,所以我指定了宿主機的ip和端口。
dockerDirectory指定了你的Dockerfile所在的位置。
2、 在項目的根目錄下新建一個shell腳本,我的是build.sh,腳本內容就是重新啟動docker。
3、 Jenkins中配置maven:點擊“系統管理”-->“GlobalTool Configuration”-->“maven安裝”,選擇install from Apavhe版本為3.5.0,勾選自動安裝。
4、 然后新建一個自由風格的項目,完成后點擊“配置”,源碼管理選擇git并填寫項目的git地址。構建觸發器選擇Poll SCM,填寫“*/1 * * * *”,意思是一分鐘去查詢一次git源碼如果有更新則會自動構建。其他隨意。
5、 構建環節:選擇Invoke top-level Maventargets,選擇第三步中配置的maven3.5.0,Goals填寫package -e -X docker:build -DskipTest -DdockerImageTags=latest,意思是使用maven的插件構建鏡像,具體參數可以百度。
6、 構建環節:接著第五步,再增加一個構建步驟放下面,選擇Executeshell,Command填寫:
就是執行項目根目錄的那個腳本文件。如下圖:
7、 最后一點,也是很重要的一點,就是必須給docker配置一個服務監聽端口,找到docker.service文件,在“ExecStart參數”后面加上“ -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock”,命令如下:
后面小編會分享更多這方面的干貨,感興趣的朋友走一波關注哩~
總結
以上是生活随笔為你收集整理的daemon.json无法启动docker_devops一键部署|详解如何搭建git+maven+jenkins+docker的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vi测试仪维修成功率高吗?_电工电路板检
- 下一篇: linux 查看语言环境_Linux语言