??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路??
|
在開始之前,確保已經(jīng)安裝了Docker。
一、Docker輕量級(jí)可視化工具Portainer
1.1、Portainer簡(jiǎn)介
Portainer是一個(gè)開源的Docker輕量級(jí)可視化工具,它提供了一個(gè)直觀的Web界面,讓你輕松管理和監(jiān)控Docker容器、鏡像和網(wǎng)絡(luò)等。本文將為你介紹如何安裝和使用Portainer,并提供詳細(xì)的步驟指導(dǎo),幫助你快速上手。
官網(wǎng):
https://www.portainer.io/
https://docs.portainer.io/start/install-ce/server/docker/linux
1.2、安裝Portainer
1.2.1、安裝Portainer的Docker鏡像
1、打開終端或命令提示符,運(yùn)行以下命令來安裝Portainer的Docker鏡像:
docker pull portainer/portainer-ce
2、安裝完成后,運(yùn)行以下命令來創(chuàng)建一個(gè)新的Portainer容器:
docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
或者使用:
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
在Docker中啟動(dòng)Portainer CE服務(wù)。
解釋:
docker run:運(yùn)行容器的命令
-d:表示以守護(hù)進(jìn)程模式運(yùn)行容器
-p 8000:8000:將本地主機(jī)的8000端口映射到容器內(nèi)的8000端口,用于訪問Portainer Web界面
-p 9000:9000:將本地主機(jī)的9000端口映射到容器內(nèi)的9000端口,用于Portainer與Docker守護(hù)進(jìn)程通信
--name portainer:為容器指定一個(gè)名稱
--restart=always:設(shè)置容器自動(dòng)重啟
-v /var/run/docker.sock:/var/run/docker.sock:將本地主機(jī)的Docker守護(hù)進(jìn)程socket文件掛載到容器內(nèi),以便與Docker守護(hù)進(jìn)程進(jìn)行通信
-v portainer_data:/data:將容器內(nèi)的/data目錄掛載到本地主機(jī)上的portainer_data卷中,用于保存Portainer的數(shù)據(jù)和配置信息
portainer/portainer-ce:latest:指定要運(yùn)行的Portainer CE鏡像及其版本
3、列出當(dāng)前正在運(yùn)行的容器
docker ps
[root@zyl-server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d83d0ea07602 portainer/portainer-ce:latest "/portainer" 2 minutes ago Up 2 minutes 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 9443/tcp portainer
[root@zyl-server ~]#
1.2.2、訪問Portainer Web界面
在瀏覽器中輸入http://localhost:9000或http://<服務(wù)器IP>:9000,你將看到Portainer的登錄界面。
第一次訪問時(shí),你需要?jiǎng)?chuàng)建一個(gè)管理員賬號(hào)。填寫所需的信息,并設(shè)置一個(gè)強(qiáng)密碼。然后點(diǎn)擊"Create user"按鈕繼續(xù)。
1.2.3、連接到Docker守護(hù)進(jìn)程
在登錄界面中,選擇"Local"作為環(huán)境類型,并點(diǎn)擊"Connect"按鈕。
Portainer將自動(dòng)檢測(cè)并連接到本地Docker守護(hù)進(jìn)程。
1.3、使用Portainer管理Docker容器
登錄成功后,你將看到Portainer的控制面板。在左側(cè)導(dǎo)航欄中,你可以選擇不同的功能模塊,如容器、鏡像、網(wǎng)絡(luò)等。
例如,點(diǎn)擊"容器",你將看到當(dāng)前運(yùn)行的所有容器列表。你可以創(chuàng)建新的容器、啟動(dòng)/停止容器、查看容器日志等操作。
1.3.1 Portainer Web界面功能詳解
1、儀表盤(Dashboard):提供了對(duì)Docker環(huán)境的概覽,包括運(yùn)行中的容器數(shù)量、使用的CPU和內(nèi)存等信息。
2、容器(Containers):允許你查看和管理容器。你可以創(chuàng)建、啟動(dòng)、停止、重啟和刪除容器,以及查看容器的日志和統(tǒng)計(jì)數(shù)據(jù)。
3、鏡像(Images):允許你管理Docker鏡像。你可以搜索、拉取、上傳、構(gòu)建和刪除鏡像,以及查看鏡像的詳細(xì)信息。
4、網(wǎng)絡(luò)(Networks):用于管理Docker網(wǎng)絡(luò)。你可以創(chuàng)建、刪除和連接網(wǎng)絡(luò),以及查看網(wǎng)絡(luò)的詳細(xì)信息。
5、卷(Volumes):用于管理Docker卷。你可以創(chuàng)建、刪除和掛載卷,以及查看卷的詳細(xì)信息。
6、棧(Stacks):允許你部署和管理Docker Compose棧。你可以通過編寫Compose文件來定義多個(gè)服務(wù),并將它們作為一個(gè)棧進(jìn)行批量管理。
7、節(jié)點(diǎn)(Nodes):用于管理Docker Swarm集群。你可以查看集群的狀態(tài)、節(jié)點(diǎn)的詳細(xì)信息,以及添加或刪除節(jié)點(diǎn)。
8、設(shè)置(Settings):提供了Portainer的各種設(shè)置選項(xiàng),包括用戶管理、身份驗(yàn)證、備份和恢復(fù)等。
1.3.2 Portainer Web界面安裝nginx
在容器(Containers):導(dǎo)航,點(diǎn)擊ADD按鈕
創(chuàng)建nginx容器
訪問測(cè)試nginx:
二、Docker容器監(jiān)控3劍客CAdvisor+InfluxDB+Granfana
CAdvisor、InfluxDB和Grafana是一套常用的容器監(jiān)控和可視化解決方案,它們各自擔(dān)當(dāng)著不同的角色。
CAdvisor(Container Advisor):
CAdvisor是由Google開發(fā)的開源容器監(jiān)控工具。它能夠?qū)崟r(shí)收集和展示容器資源的使用情況,包括CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等指標(biāo)。CAdvisor通過對(duì)容器進(jìn)行抽樣和監(jiān)控,提供了對(duì)Docker容器整體和單個(gè)容器的性能數(shù)據(jù)的監(jiān)控和分析功能。
InfluxDB:
InfluxDB是一種開源的時(shí)間序列數(shù)據(jù)庫,專門用于存儲(chǔ)時(shí)間相關(guān)的數(shù)據(jù)。它被廣泛應(yīng)用于監(jiān)控、物聯(lián)網(wǎng)、實(shí)時(shí)分析等領(lǐng)域。InfluxDB支持高寫入和高查詢性能,并提供了SQL-like查詢語言。通過將CAdvisor收集到的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)在InfluxDB中,可以方便地進(jìn)行數(shù)據(jù)聚合、查詢和分析。
Grafana:
Grafana是一個(gè)功能強(qiáng)大的開源數(shù)據(jù)可視化工具,用于創(chuàng)建、瀏覽和分享時(shí)間序列數(shù)據(jù)的儀表板。它支持多種數(shù)據(jù)源,包括InfluxDB、Prometheus、Elasticsearch等。Grafana提供了豐富的可視化選項(xiàng)和交互式儀表板編輯功能,可以根據(jù)用戶需求創(chuàng)建各種圖表、儀表盤和報(bào)表,幫助用戶更好地理解和分析監(jiān)控?cái)?shù)據(jù)。
使用CAdvisor、InfluxDB和Grafana的組合,可以實(shí)現(xiàn)以下功能:
1、CAdvisor用于實(shí)時(shí)監(jiān)控容器的性能指標(biāo)。
2、InfluxDB作為中間存儲(chǔ),將CAdvisor收集到的數(shù)據(jù)保存在數(shù)據(jù)庫中。
3、Grafana連接到InfluxDB,從中獲取數(shù)據(jù),并將其以直觀和可定制化的方式展示在儀表板上。
2.1、CIG結(jié)合compose一鍵搭建監(jiān)控平臺(tái)
1、新建Cig目錄
[root@zyl-server ~]# mkdir Cig
2、Cig目錄下創(chuàng)建docker-compose.yml
version: '3.1'
volumes:
grafana_data: {}
services:
influxdb:
image: tutum/influxdb:0.9
restart: always
environment:
- PRE_CREATE_DB=cadvisor
ports:
- "8083:8083"
- "8086:8086"
volumes:
- ./data/influxdb:/data
cadvisor:
image: google/cadvisor
links:
- influxdb:influxsrv
command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086
restart: always
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
grafana:
user: "104"
image: grafana/grafana
restart: always
links:
- influxdb:influxsrv
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- HTTP_USER=admin
- HTTP_PASS=admin
- INFLUXDB_HOST=influxsrv
- INFLUXDB_PORT=8086
- INFLUXDB_NAME=cadvisor
- INFLUXDB_USER=root
- INFLUXDB_PASS=123456
文件內(nèi)容解讀:
使用Docker Compose定義的CAdvisor、InfluxDB和Grafana的部署配置文件。
可以通過Docker Compose命令來一鍵啟動(dòng)這套監(jiān)控和可視化系統(tǒng)。
配置文件中定義了三個(gè)服務(wù):influxdb、cadvisor和grafana,分別對(duì)應(yīng)InfluxDB、CAdvisor和Grafana的容器。
1、InfluxDB服務(wù)使用了tutum/influxdb:0.9鏡像,通過環(huán)境變量設(shè)置了預(yù)創(chuàng)建數(shù)據(jù)庫cadvisor,
并將容器內(nèi)的8083端口映射到主機(jī)的8083端口(用于InfluxDB Web UI),將8086端口映射到主機(jī)的8086端口(用于InfluxDB API)。
2、CAdvisor服務(wù)使用了google/cadvisor鏡像,通過links指定了與influxdb服務(wù)的連接,
并通過command參數(shù)指定了CAdvisor的運(yùn)行參數(shù),將容器內(nèi)的8080端口映射到主機(jī)的8080端口(用于CAdvisor Web UI)。
3、Grafana服務(wù)使用了grafana/grafana鏡像,也通過links指定了與influxdb服務(wù)的連接,
并將容器內(nèi)的3000端口映射到主機(jī)的3000端口(用于Grafana Web UI)。
此外,還定義了一些環(huán)境變量,包括Grafana的管理員賬號(hào)和密碼,以及連接InfluxDB的相關(guān)信息。
4、此配置文件還定義了一個(gè)名為grafana_data的volume,用于將Grafana的數(shù)據(jù)持久化存儲(chǔ)。
3、啟動(dòng)docker-compose文件
1、檢查 Docker Compose 配置文件
[root@zyl-server Cig]# docker-compose config -q
[root@zyl-server Cig]#
2、啟動(dòng)docker-compose文件
docker-compose up ##前臺(tái)啟動(dòng)
如果需要在后臺(tái)運(yùn)行 Docker Compose 服務(wù),可以使用 -d 參數(shù),如下所示:
docker-compose up -d
3、完成后,可以使用 docker ps 命令來查看正在運(yùn)行的容器列表,以確認(rèn)服務(wù)已經(jīng)成功啟動(dòng)。
4、訪問測(cè)試
瀏覽cAdvisor收集服務(wù):http://192.168.234.10:8080/containers/
第一次訪問較慢,Ip根據(jù)自己主機(jī)而定,暴露端口見docker-compose文件。
瀏覽influxdb存儲(chǔ)服務(wù):http://192.168.234.10:8083/
瀏覽grafana展現(xiàn)服務(wù):http://192.168.234.10:3000/login
CAdvisor+InfluxDB+Granfana,啟動(dòng)成功!?。。?/code>
2.1、數(shù)據(jù)源配置
訪問grafana展現(xiàn)服務(wù):http://192.168.234.10:3000/login
URL: http://influxsrv:8086
服務(wù)名(influxsrv),數(shù)據(jù)庫名(cadvisor),端口(8086)、用戶名(root)、密碼(123456):根據(jù)docker-compose文件配置。
2.2、配置panel面板
2.3、為panel面板填充數(shù)據(jù)
例如:填充CPU使用數(shù)據(jù)
這里只監(jiān)控一個(gè)維度,具體可根據(jù)業(yè)務(wù)規(guī)則而定!??!
到這里cAdvisor+InfluxDB+Grafana容器監(jiān)控系統(tǒng)就部署完成了文章來源:http://www.zghlxwxcb.cn/news/detail-714700.html
到目前為止,docker基礎(chǔ)知識(shí)學(xué)的已經(jīng)差不多了,可以算是入門級(jí)了。
文章來源地址http://www.zghlxwxcb.cn/news/detail-714700.html
??The End??點(diǎn)點(diǎn)關(guān)注,收藏不迷路??
|
到了這里,關(guān)于Docker進(jìn)階:Docker輕量級(jí)可視化工具Portainer與容器監(jiān)控3劍客CAdvisor+InfluxDB+Granfana的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!