這篇文章給大家介紹jenkins中怎么利用docker部署微服務(wù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
DOckerFile 格式如下
FROM java:8-jre
MAINTAINER 303600370@qq.com
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /gateway
WORKDIR /gateway
EXPOSE 9999
docker build -t upms:1.0 . //注意此處DockerFile在當(dāng)前目錄,否則請(qǐng)指定路徑
//查看我們生成的鏡像
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
upms 1.0 5a85b918f97b About an hour ago 311MB
auth 1.0 ebe9c89204a3 2 hours ago 311MB
gateway 1.0 d569bd2776b5 2 hours ago 311MB
register 1.0 72b8e3d9053d 6 hours ago 311MB
jenkinsci/blueocean latest 15c11ce3d610 46 hours ago 567MB
jenkins/jenkins latest ca03aad4393c 2 days ago 648MB
gogs/gogs latest a9376695685c 3 days ago 90.6MB
portainer/portainer latest 2869fc110bf7 4 weeks ago 78.6MB
java 8-jre e44d62cf8862 3 years ago 311MB
docker run \
-u root \
--rm \ --1
-d \ --2
-p 8080:8080 \ --3
-p 50000:50000 \ --4
-v jenkins-data:/var/jenkins_home \ --5
-v /var/run/docker.sock:/var/run/docker.sock \ --6
jenkinsci/blueocean --7
1 jenkinsci/blueocean 關(guān)閉時(shí)自動(dòng)刪除Docker容器(下圖為實(shí)例)。如果您需要退出Jenkins,這可以保持整潔。
2 jenkinsci/blueocean 在后臺(tái)運(yùn)行容器(即“分離”模式)并輸出容器ID。如果您不指定此選項(xiàng), 則在終端窗口中輸出正在運(yùn)行的此容器的Docker日志。
3 映射(例如“發(fā)布”)jenkinsci/blueocean 容器的端口8080到主機(jī)上的端口8080。 第一個(gè)數(shù)字代表主機(jī)上的端口,而最后一個(gè)代表容器的端口。因此,如果您為此選項(xiàng)指定 -p 49000:8080 ,您將通過(guò)端口49000訪問(wèn)主機(jī)上的Jenkins。
4 將 jenkinsci/blueocean 容器的端口50000 映射到主機(jī)上的端口50000。 如果您在其他機(jī)器上設(shè)置了一個(gè)或多個(gè)基于JNLP的Jenkins代理程序,而這些代理程序又與 jenkinsci/blueocean 容器交互(充當(dāng)“主”Jenkins服務(wù)器,或者簡(jiǎn)稱為“Jenkins主”), 則這是必需的。默認(rèn)情況下,基于JNLP的Jenkins代理通過(guò)TCP端口50000與Jenkins主站進(jìn)行通信。 您可以通過(guò)“ 配置全局安全性” 頁(yè)面更改Jenkins主服務(wù)器上的端口號(hào)。如果您要將您的Jenkins主機(jī)的JNLP代理端口的TCP端口 值更改為51000(例如),那么您需要重新運(yùn)行Jenkins(通過(guò)此 docker run …命令)并指定此“發(fā)布”選項(xiàng) -p 52000:51000,其中最后一個(gè)值與Jenkins master上的這個(gè)更改值相匹配,第一個(gè)值是Jenkins主機(jī)的主機(jī)上的端口號(hào), 通過(guò)它,基于JNLP的Jenkins代理與Jenkins主機(jī)進(jìn)行通信 - 例如52000。
映射在容器中的`/var/jenkins_home` 目錄到具有名字 jenkins-data 的volume。 如果這個(gè)卷不存在,那么這個(gè) docker run 命令會(huì)自動(dòng)為你創(chuàng)建卷。 如果您希望每次重新啟動(dòng)Jenkins(通過(guò)此 docker run ... 命令)時(shí)保持Jenkins狀態(tài),則此選項(xiàng)是必需的 。 如果你沒(méi)有指定這個(gè)選項(xiàng),那么在每次重新啟動(dòng)后,Jenkins將有效地重置為新的實(shí)例。
5 所述的 jenkins-data 卷也可以 docker volume create命令創(chuàng)建: docker volume create jenkins-data 代替映射 /var/jenkins_home 目錄轉(zhuǎn)換為Docker卷,還 可以將此目錄映射到計(jì)算機(jī)本地文件系統(tǒng)上的目錄。 例如,指定該選項(xiàng) -v $HOME/jenkins:/var/jenkins_home 會(huì)將容器的 /var/jenkins_home 目錄映射 到 本地計(jì)算機(jī)上目錄中的 jenkins 子目錄, 該$HOME目錄通常是 /Users/<your-username>/jenkins 或`/home/<your-username>/jenkins` 。
6 (可選 /var/run/docker.sock 表示Docker守護(hù)程序通過(guò)其監(jiān)聽(tīng)的基于Unix的套接字。 該映射允許 jenkinsci/blueocean 容器與Docker守護(hù)進(jìn)程通信, 如果 jenkinsci/blueocean 容器需要實(shí)例化其他Docker容器,則該守護(hù)進(jìn)程是必需的。 如果運(yùn)行聲明式管道,其語(yǔ)法包含agent部分用 docker
例如, agent { docker { ... } } 此選項(xiàng)是必需的。 在Pipeline Syntax 頁(yè)面上閱讀更多關(guān)于這個(gè)的信息 。
jenkinsci/blueocean Docker鏡像本身。如果此鏡像尚未下載,則此 docker run 命令 將自動(dòng)為您下載鏡像。此外,如果自上次運(yùn)行此命令后發(fā)布了此鏡像的任何更新, 則再次運(yùn)行此命令將自動(dòng)為您下載這些已發(fā)布的鏡像更新。 注意:這個(gè)Docker鏡像也可以使用以下 docker pull命令獨(dú)立下載(或更新) : docker pull jenkinsci/blueocean 注意: 如果復(fù)制并粘貼上面的命令片段不起作用,請(qǐng)嘗試在此處復(fù)制并粘貼此無(wú)注釋版本:
完整命令
docker run -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --restart=always jenkinsci/blueocean
jenkins 使用默認(rèn)安裝后,登錄頁(yè)面
新建一個(gè)構(gòu)建任務(wù)(作為代碼管理)
選擇git
保存任務(wù) -> 構(gòu)建任務(wù)
java 服務(wù)構(gòu)建
新建任務(wù) (添加shell)
BUILD_ID=donKillMe
api_pid=` docker ps -a | grep getaway | awk '{print $1}'`
echo api_pid = $api_pid
if [ "$api_pid" != "" ]; then
echo restart getaway
docker restart $api_pid
echo sleep 3s
fi
if [ "$api_pid" == "" ]; then
echo mkdir images
docker run --add-host=pigx-MySQL:172.17.0.1 -d -p 4000:4000 -v /getaway:/getaway --name getaway getaway:1.0 java -jar /getaway/getaway.jar
echo sleep 3s
fi
構(gòu)建
jenkins 數(shù)據(jù)地址 (可能)
//項(xiàng)目根目錄
/var/lib/docker/volumes/jenkins-data/_data/workspace/
//jar目錄
/var/jenkins_home/workspace/getaway/target/getaway.jar
//日志目錄
/var/lib/docker/volumes/jenkins-data/_data/workspace/getaway/logs/
初始密碼 目錄 /var/jenkins_home/secrets/initialAdminPassword
關(guān)于jenkins中怎么利用docker部署微服務(wù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)站題目:jenkins中怎么利用docker部署微服務(wù)
當(dāng)前路徑:http://www.rwnh.cn/article26/gopicg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站制作、云服務(wù)器、微信小程序、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)