国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

2021-03-29 17:18crazy_joe 服務器知識

Docker 是一個開源的應用容器引擎,和傳統的虛擬機技術相比,Docker 容器性能開銷極低,因此也廣受開發者喜愛。這篇文章主要介紹了基于spring-boot和docker-java實現對docker容器的動態管理和監控 ,需要的朋友可以參考下

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

docker簡介

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

本文目的

本文通過一個項目實例來介紹如果通過docker對外接口來實現對docker容器的管理和監控

應用場景:

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

本項目模擬實現以上場景,代碼不完全嚴禁,代碼僅供學習。

吧本文

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

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

3、動態監控docker所有容器的資源使用情況。

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

基礎環境

1、eclipse  2019-03;

2、docker for windows。本著學習和簡單的目的,并未使用linux環境,但原理和基本命令相同。

相關技術和知識點:

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

實現原理

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

實現過程之前期準備

1、升級windows

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

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

點擊更改產品密匙,輸入專業版的密匙之后,就等待慢慢升級了。密匙自己在網上找,反正是有的。

2、安裝docker for windows

去官網下載后,一路下一步就可以了。安裝完后,會自己啟動,啟動后工具欄就會出現docker的標志。

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

3、修改docker鏡像地址。

由于默認的鏡像地址較慢,一個tomcat鏡像都500多m,網絡不好下載會很慢,可將鏡像地址配置成網易的鏡像地址,如下:

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

4、啟動遠程管理

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

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

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

實現過程之代碼開發

1、創建maven項目。

  由于過程簡單,省略此過程。整個項目的代碼結構如下:

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

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

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

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

4、主要類介紹:

1.spring boot啟動主類。

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

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

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

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

包括如下方法:

initclient:初始化鏈接。

getdockerinfo:獲取docker基本信息;

stat:實時統計信息;

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

createandstartrcontaineranddeployapp:根據界面傳遞的參數創建并啟動容器,同時部署項目;

stopcontainer:停止容器;

rmcontainer:刪除容器;

closeclient:關閉鏈接;

pushapptocotainer:部署war包到tomcat;

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

createcontainer(創建容器):

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

pushapptocotainer:部署項目到tomcat

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

stat,監控方法:

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

docker-java來獲取監控信息的代碼如下:

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

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

主要方法介紹:

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

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

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

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

實現后的主要界面:

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

1、監控管理主頁

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

2、添加容器;

基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載]

總結

以上所述是小編給大家介紹的基于spring-boot和docker-java實現對docker容器的動態管理和監控功能[附完整源碼下載],希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

原文鏈接:https://www.cnblogs.com/qiaobing/archive/2019/06/14/11020870.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一大道一二三区不卡 | 91高清视频在线观看 | 欧美日韩高清在线 | 日韩视频一区二区三区 | 国产欧美日韩综合精品一区二区 | 日韩一区二区三区在线播放 | 久久影院一区 | 在线精品国产 | av一区二区在线观看 | 精品一区二区三区免费毛片 | 国产精品成人一区二区三区夜夜夜 | 全部免费毛片在线播放 | 99精品视频在线免费观看 | 国产日韩一区二区 | 精品国产一区二区三区免费 | 一本久道久久综合狠狠爱 | 国产一区二区三区 | 操少妇逼视频 | 久久精品国产一区 | 一区二区三区久久 | 男女免费视频 | 免费av一区二区三区 | 亚洲成人免费网站 | 日本欧美在线观看 | 一级黄毛片 | 国产成人精品视频 | 91网视频 | 欧美精品亚洲精品 | 国产精品久久久久久久午夜 | 国产精品一二三区视频 | 亚洲精品久久久久久久蜜桃 | 欧美精品在线一区二区三区 | 亚洲欧美另类在线 | 午夜大片男女免费观看爽爽爽尤物 | 亚洲网在线 | 在线观看视频91 | 亚洲黄色a级 | 狠狠淫 | 亚洲国产精品久久 | 日韩中文字幕在线视频 | 久久性 |