這篇文章給大家介紹jenkins中怎么利用docker部署微服務(wù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
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)前目錄,否則請指定路徑
//查看我們生成的鏡像
# 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)閉時自動刪除Docker容器(下圖為實例)。如果您需要退出Jenkins,這可以保持整潔。
2 jenkinsci/blueocean 在后臺運行容器(即“分離”模式)并輸出容器ID。如果您不指定此選項, 則在終端窗口中輸出正在運行的此容器的Docker日志。
3 映射(例如“發(fā)布”)jenkinsci/blueocean 容器的端口8080到主機上的端口8080。 第一個數(shù)字代表主機上的端口,而最后一個代表容器的端口。因此,如果您為此選項指定 -p 49000:8080 ,您將通過端口49000訪問主機上的Jenkins。
4 將 jenkinsci/blueocean 容器的端口50000 映射到主機上的端口50000。 如果您在其他機器上設(shè)置了一個或多個基于JNLP的Jenkins代理程序,而這些代理程序又與 jenkinsci/blueocean 容器交互(充當(dāng)“主”Jenkins服務(wù)器,或者簡稱為“Jenkins主”), 則這是必需的。默認(rèn)情況下,基于JNLP的Jenkins代理通過TCP端口50000與Jenkins主站進(jìn)行通信。 您可以通過“ 配置全局安全性” 頁面更改Jenkins主服務(wù)器上的端口號。如果您要將您的Jenkins主機的JNLP代理端口的TCP端口 值更改為51000(例如),那么您需要重新運行Jenkins(通過此 docker run …命令)并指定此“發(fā)布”選項 -p 52000:51000,其中最后一個值與Jenkins master上的這個更改值相匹配,第一個值是Jenkins主機的主機上的端口號, 通過它,基于JNLP的Jenkins代理與Jenkins主機進(jìn)行通信 - 例如52000。
映射在容器中的`/var/jenkins_home` 目錄到具有名字 jenkins-data 的volume。 如果這個卷不存在,那么這個 docker run 命令會自動為你創(chuàng)建卷。 如果您希望每次重新啟動Jenkins(通過此 docker run ... 命令)時保持Jenkins狀態(tài),則此選項是必需的 。 如果你沒有指定這個選項,那么在每次重新啟動后,Jenkins將有效地重置為新的實例。
5 所述的 jenkins-data 卷也可以 docker volume create命令創(chuàng)建: docker volume create jenkins-data 代替映射 /var/jenkins_home 目錄轉(zhuǎn)換為Docker卷,還 可以將此目錄映射到計算機本地文件系統(tǒng)上的目錄。 例如,指定該選項 -v $HOME/jenkins:/var/jenkins_home 會將容器的 /var/jenkins_home 目錄映射 到 本地計算機上目錄中的 jenkins 子目錄, 該$HOME目錄通常是 /Users/<your-username>/jenkins 或`/home/<your-username>/jenkins` 。
6 (可選 /var/run/docker.sock 表示Docker守護(hù)程序通過其監(jiān)聽的基于Unix的套接字。 該映射允許 jenkinsci/blueocean 容器與Docker守護(hù)進(jìn)程通信, 如果 jenkinsci/blueocean 容器需要實例化其他Docker容器,則該守護(hù)進(jìn)程是必需的。 如果運行聲明式管道,其語法包含agent部分用 docker
例如, agent { docker { ... } } 此選項是必需的。 在Pipeline Syntax 頁面上閱讀更多關(guān)于這個的信息 。
jenkinsci/blueocean Docker鏡像本身。如果此鏡像尚未下載,則此 docker run 命令 將自動為您下載鏡像。此外,如果自上次運行此命令后發(fā)布了此鏡像的任何更新, 則再次運行此命令將自動為您下載這些已發(fā)布的鏡像更新。 注意:這個Docker鏡像也可以使用以下 docker pull命令獨立下載(或更新) : docker pull jenkinsci/blueocean 注意: 如果復(fù)制并粘貼上面的命令片段不起作用,請嘗試在此處復(fù)制并粘貼此無注釋版本:
完整命令
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)安裝后,登錄頁面
新建一個構(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ù)地址 (可能)
//項目根目錄
/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)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)站題目:jenkins中怎么利用docker部署微服務(wù)
當(dāng)前路徑:http://aaarwkj.com/article26/gopicg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站設(shè)計公司、品牌網(wǎng)站制作、云服務(wù)器、微信小程序、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)