欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

小編給大家分享一下如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出庫爾勒免費做網(wǎng)站回饋大家。

docker簡介

Docker 是一個開源的應(yīng)用容器引擎,和傳統(tǒng)的虛擬機技術(shù)相比,Docker 容器性能開銷極低,因此也廣受開發(fā)者喜愛。隨著基于docker的開發(fā)者越來越多,docker的鏡像也原來越豐富,未來各種企業(yè)級的完整解決方案都可以直接通過下載鏡像拿來即用。因此docker變得越來越重要。

本文目的

本文通過一個項目實例來介紹如果通過docker對外接口來實現(xiàn)對docker容器的管理和監(jiān)控。

應(yīng)用場景:

服務(wù)器資源池通過docker進行統(tǒng)一管理,按需分配資源和創(chuàng)建容器,達到資源最大化利用。同時保證各業(yè)務(wù)(容器)之間的隔離。并可支持項目的在線部署。

本項目模擬實現(xiàn)以上場景,代碼不完全嚴(yán)禁,代碼僅供學(xué)習(xí)。

吧本文

1、通過界面創(chuàng)建docker的tomcat容器,并配置限額。

2、上傳war包并部署到容器。

3、動態(tài)監(jiān)控docker所有容器的資源使用情況。

代碼基于docker-java開源組件,基于spring-boot完成功能開發(fā)。界面如下圖:

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

基礎(chǔ)環(huán)境

1、eclipse  2019-03;

2、docker for windows。本著學(xué)習(xí)和簡單的目的,并未使用linux環(huán)境,但原理和基本命令相同。

相關(guān)技術(shù)和知識點:

maven,spring-boot;spring mvc;spring上傳下載,jquery ajax和上傳。

實現(xiàn)原理

docker對外提供了豐富接口(如:restfull APi),通過這些接口可對docker進行管理。docker-java開源組件基于這個接口做了封裝,使得開發(fā)更加簡單。當(dāng)然市面上還有其他一些封裝好的組件,大家可自行比較和學(xué)習(xí)。在這里對開源作者表示感謝。

實現(xiàn)過程之前期準(zhǔn)備

1、升級windows

由于我們使用的是windows環(huán)境, 筆者自己電腦預(yù)裝的是win10 家庭版,而docker for windows 需要運行在更高級別的操作系統(tǒng)上,才能使用虛擬化技術(shù),因此需要升級到專業(yè)版。

如果需要升級的,升級過程也比較簡單,簡單介紹如下(已經(jīng)是專業(yè)版的可以略過):

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

點擊更改產(chǎn)品密匙,輸入專業(yè)版的密匙之后,就等待慢慢升級了。密匙自己在網(wǎng)上找,反正是有的。

2、安裝docker for windows

去官網(wǎng)下載后,一路下一步就可以了。安裝完后,會自己啟動,啟動后工具欄就會出現(xiàn)docker的標(biāo)志。

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

安裝成功后,可以敲一些命令測試一下是否成功。如:查看docker基本信息。

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

3、修改docker鏡像地址。

由于默認(rèn)的鏡像地址較慢,一個tomcat鏡像都500多m,網(wǎng)絡(luò)不好下載會很慢,可將鏡像地址配置成網(wǎng)易的鏡像地址,如下:

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

4、啟動遠程管理

勾選上最后一項,這里面的tcp//xxx就是遠程連接地址。

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

啟動后,在瀏覽器里面敲一下地址,看看是否能返回結(jié)果:

http://localhost:2375/info(此地址同在cmd里面輸入docker indo)返回的是json格式的內(nèi)容:

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

實現(xiàn)過程之代碼開發(fā)

1、創(chuàng)建maven項目。

  由于過程簡單,省略此過程。整個項目的代碼結(jié)構(gòu)如下:

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

2、配置docker-java和spring boot的maven依賴,最終pom文件內(nèi)容如下

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

通過看jar包,docker-java底層應(yīng)該是用了netty依賴。

3、添加spring配置文件application.properties

配置jsp的位置和docker的管理地址。

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

4、主要類介紹:

1.spring boot啟動主類。

當(dāng)然也可以配置其他容器或者用maven的jetty插件來啟動。

可參考另外一篇文章:Spring-boot原理(附帶實現(xiàn)一個spring-boot-starter實例)附源碼下載

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

注意這個類放的位置,最好放在根目錄,這樣根目錄下的所有子目錄都能被spring掃描到了。

2.DockerClientOperaterServer(與docker交互的類),具體如下:

包括如下方法:

initClient:初始化鏈接。

getDockerInfo:獲取docker基本信息;

stat:實時統(tǒng)計信息;

refreshContainers:獲取所有容器的基本信息,并放入緩存;

createAndStartrContainerAnddeployApp:根據(jù)界面?zhèn)鬟f的參數(shù)創(chuàng)建并啟動容器,同時部署項目;

stopContainer:停止容器;

rmContainer:刪除容器;

closeClient:關(guān)閉鏈接;

pushAppToCotainer:部署war包到tomcat;

由于代碼片段太長,這里看幾個主要的方法:

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

createContainer(創(chuàng)建容器):

這個方法里面通過docker-java創(chuàng)建容器,分配限額,配置端口映射等。

pushAppToCotainer:部署項目到tomcat

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

stat,監(jiān)控方法:

監(jiān)控這一塊沒有用docker-java的方法,其實它是支持的,但是由于返回結(jié)果需要各種處理,就用了投機取巧的方法。使用java調(diào)用cmd來執(zhí)行(docker stats)獲取監(jiān)控結(jié)果。

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

docker-java來獲取監(jiān)控信息的代碼如下:

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

3.DockerClientController(和界面交互的controller)。

主要方法介紹:

addContainer:添加容器以及上傳war包

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

以上便是主要代碼的講解。

具體代碼詳情,請下載源碼啟動后按照過程查看。

實現(xiàn)后的主要界面:

由于是示例項目,代碼沒有用什么vue和bootstrap框架。自己寫了點css和js。具體效果如下:

1、監(jiān)控管理主頁

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

2、添加容器;

如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能

以上是“如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞標(biāo)題:如何基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能
網(wǎng)頁URL:http://aaarwkj.com/article30/gjccso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站內(nèi)鏈、域名注冊、面包屑導(dǎo)航、定制網(wǎng)站網(wǎng)站導(dǎo)航

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)
亚洲欧美一区二区国产| 免费观看久久久激情片| 韩国三级在线视频网站| 五月婷婷av综合激情| 久久精品中文字幕有码日本道| 99精品人妻一区二区三区| 日本高清不卡在线一区二区| 99精品亚洲一区二区| 精品视频一区二区三区在线观看| 欧美黄色一区二区三区视频| 秋霞三级在线免费观看| 亚洲天堂av在线播放| 国产日韩欧美一区综合| 日韩色图在线观看视频| 黑人精品一区二区三区| 蜜桃视频中文字幕二区三区| 蜜臀在线观看免费视频| 成人高清在线观看91| 亚洲欧美日韩颜射极品| 国产91九色视频在线| 亚洲国产男同日韩小鲜肉| 无人区乱码一区二区三区| 国产高清av免费观看| 激情婷婷亚洲五月综合网| 自由成熟性生活免费视频| 中文字幕九七精品乱码| 婷婷不卡中文字幕三区| 国产av一级二级三级最新精品| 免费观看亚洲成人av| 91美女黑丝免费国产视频| 歪歪私人影院午夜毛片| 亚洲av综合色区一区| 免费在线观看成人av| 日本一区二区在线高清| 国产综合一区在线观看97| 亚洲蜜桃精品一区二区三区| 中文字幕人妻久久精品一区| 欧美日韩精品人妻中文| 精品国产免费第一区二区三| 国产原创av剧情在线观看| 日韩精品在线中文字幕|