Docker可視化工具Portainer詳解
常用的Docker可視化工具介紹
常用的Docker可視化工具有Portainer、Docker Dashboard、DockStation、LazyDocker、Docker UI等。
Portainer
功能特性:
全面資源管理:可對(duì) Docker 的容器、鏡像、網(wǎng)絡(luò)、存儲(chǔ)卷等各類資源進(jìn)行細(xì)致管理。比如在容器管理上,能輕松查看容器詳細(xì)信息,涵蓋狀態(tài)(運(yùn)行、停止、暫停等)、資源使用情況(CPU、內(nèi)存占用)、端口映射以及環(huán)境變量等;在鏡像管理方面,支持從不同倉(cāng)庫(kù)拉取鏡像,查看鏡像分層結(jié)構(gòu),還可對(duì)本地鏡像進(jìn)行打標(biāo)簽、推送等操作。
用戶權(quán)限管理:具備完善的用戶權(quán)限控制體系。能夠創(chuàng)建多個(gè)用戶賬號(hào),并依據(jù)不同需求為每個(gè)用戶分配相應(yīng)角色和權(quán)限,像管理員權(quán)限可對(duì)整個(gè) Docker 環(huán)境全權(quán)操作,普通用戶則可能僅被允許查看容器狀態(tài)和日志等。
集群管理支持(如 Docker Swarm):若采用了 Docker Swarm 集群,Portainer 可有效管理集群中的服務(wù)、節(jié)點(diǎn)等。能部署新的服務(wù),對(duì)服務(wù)進(jìn)行擴(kuò)展或收縮操作,同時(shí)可監(jiān)控集群節(jié)點(diǎn)的健康狀態(tài)。
適用場(chǎng)景:適用于各類規(guī)模的 Docker 環(huán)境,無(wú)論是個(gè)人開(kāi)發(fā)者在本地開(kāi)發(fā)環(huán)境的使用,還是企業(yè)級(jí)大規(guī)模容器集群的管理,Portainer 都能發(fā)揮出色作用。對(duì)于需頻繁操作和監(jiān)控 Docker 資源的用戶,其可視化界面可顯著提升操作效率。
Docker Dashboard(僅適用于 Docker Desktop)
功能特性:
簡(jiǎn)單直觀界面:作為 Docker Desktop 自帶的可視化工具,提供簡(jiǎn)潔明了的界面,方便用戶迅速查看和管理本地的容器和鏡像。在容器管理上,通過(guò)簡(jiǎn)單的按鈕即可輕松啟動(dòng)、停止、刪除容器;對(duì)于鏡像,可查看鏡像列表、拉取新鏡像以及刪除不需要的鏡像。
緊密集成優(yōu)勢(shì):與 Docker Desktop 的其他功能緊密配合,例如能方便地查看容器的資源占用情況統(tǒng)計(jì)圖表,這些統(tǒng)計(jì)信息與 Docker Desktop 的監(jiān)控功能相結(jié)合,有助于用戶更好地了解容器的運(yùn)行狀況。
適用場(chǎng)景:主要適用于在本地開(kāi)發(fā)環(huán)境中使用 Docker Desktop 的開(kāi)發(fā)者。對(duì)于那些只需進(jìn)行簡(jiǎn)單的容器和鏡像管理,且依賴于 Docker Desktop 開(kāi)展開(kāi)發(fā)工作的用戶而言,是極為便捷的工具。
DockStation
功能特性:
多項(xiàng)目管理與依賴展示:擅長(zhǎng)處理多個(gè)項(xiàng)目的容器管理工作,并且能夠以圖形化的方式清晰呈現(xiàn)容器之間的依賴關(guān)系。這對(duì)于復(fù)雜的多容器應(yīng)用架構(gòu)極為有用,用戶可直觀地了解各個(gè)容器在整個(gè)項(xiàng)目中的作用以及它們之間的相互協(xié)作方式。
支持 Docker Compose 文件管理:可以方便地導(dǎo)入、編輯和管理 Docker Compose 文件。通過(guò)對(duì) Compose 文件的操作,能夠快速部署和管理由多個(gè)的容器組成的應(yīng)用。例如,用戶可直接在 DockStation 中修改 Compose 文件中的容器配置參數(shù),然后一鍵重新部署應(yīng)用。
美觀用戶界面:具有設(shè)計(jì)精美的用戶界面,操作體驗(yàn)良好。界面布局合理,易于使用,提供了清晰的容器、鏡像等資源的視圖。
適用場(chǎng)景:適合管理多個(gè)復(fù)雜的容器化項(xiàng)目,特別是對(duì)于依賴關(guān)系復(fù)雜的應(yīng)用,以及經(jīng)常使用 Docker Compose 進(jìn)行應(yīng)用部署的開(kāi)發(fā)者或團(tuán)隊(duì)。
LazyDocker
功能特性:
輕量級(jí)終端可視化工具:基于終端的可視化查詢工具,其優(yōu)勢(shì)在于占用系統(tǒng)資源少,運(yùn)行速度快。對(duì)于系統(tǒng)資源有限或者對(duì)性能要求較高的環(huán)境來(lái)說(shuō),是非常不錯(cuò)的選擇。
支持鍵盤操作和鼠標(biāo)點(diǎn)擊:既保留了命令行工具的操作風(fēng)格,方便習(xí)慣使用命令行的用戶,又提供了形式的展示方式。用戶可使用鍵盤快捷鍵快速操作,也可通過(guò)鼠標(biāo)進(jìn)行簡(jiǎn)單的點(diǎn)擊操作,如查看容器詳情、啟動(dòng)或停止容器等。
快速查看 Docker 信息:能夠在終端中快速查看 Docker 容器、鏡像和卷的 0 信息。例如,可以直觀地看到容器的運(yùn)行狀態(tài)、鏡像的標(biāo)簽和大小等信息。
適用場(chǎng)景:適合熟悉命令行操作的開(kāi)發(fā)者,作為命令行工具的補(bǔ)充,用于快速查看 Docker 相關(guān)信息。尤其適用于在服務(wù)器環(huán)境中,通過(guò) SSH 連接進(jìn)行容器管理的情況,在這種場(chǎng)景下,LazyDocker 可以提供高效的可視化管理方式,而無(wú)需占用過(guò)多的系統(tǒng)資源。
Docker UI
功能特性:
直觀的容器鏡像管理:提供了較為直觀的界面來(lái)管理 Docker 容器和鏡像??梢栽诮缑嫔现苯硬榭慈萜鞯倪\(yùn)行狀態(tài)、啟動(dòng)、停止、刪除容器等操作,對(duì)于鏡像,能查看鏡像列表、拉取新鏡像以及刪除不需要的鏡像等。
資源使用情況展示:能夠展示 Docker 容器的資源使用情況,如 CPU、內(nèi)存的占用等,讓用戶可以清楚地了解容器運(yùn)行時(shí)對(duì)資源的消耗情況。
網(wǎng)絡(luò)管理功能:可以管理 Docker 的網(wǎng)絡(luò),包括查看已有的網(wǎng)絡(luò)、創(chuàng)建新的網(wǎng)絡(luò)、連接容器到網(wǎng)絡(luò)等操作,方便用戶對(duì) Docker 網(wǎng)絡(luò)進(jìn)行配置和管理。
適用場(chǎng)景:適合初學(xué)者或?qū)?Docker 可視化管理有一定需求的用戶,尤其是那些希望通過(guò)直觀的界面來(lái)快速了解和操作 Docker 容器、鏡像以及網(wǎng)絡(luò)等資源的用戶。它可以作為一種簡(jiǎn)單有效的可視化工具,幫助用戶更好地掌握 Docker 的基本操作和管理。管理頁(yè)面無(wú)賬戶體系,僅適用于安全性較低的場(chǎng)景,不支持多主機(jī)和 Swarm 集群。
Docker可視化工具Portainer的安裝與使用
選取Portainer 作為案例,安裝方式有兩種:
- 使用docker run的方式安裝
- 使用docker compose的方式安裝
Portainer的安裝與使用
使用 docker run命令行安裝
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /your/data/directory/for/portainer:/data --restart=always --name portainer portainer/portainer-ce:latest
-d:表示在后臺(tái)運(yùn)行容器。-p 9000:9000:將容器的 9000 端口映射到宿主機(jī)的 9000 端口,這樣你可以通過(guò)http://localhost:9000在瀏覽器中訪問(wèn) Portainer。-v /var/run/docker.sock:/var/run/docker.sock:將宿主機(jī)的 Docker 套接字文件映射到容器中,使 Portainer 能夠與 Docker 引擎進(jìn)行通信并管理容器。-v /your/data/directory/for/portainer:/data:將宿主機(jī)上的一個(gè)目錄(/your/data/directory/for/portainer)映射到容器的/data目錄,用于保存 Portainer 的配置和數(shù)據(jù)。--restart=always:確保容器在退出或系統(tǒng)重啟時(shí)自動(dòng)重新啟動(dòng)。--name portainer:為容器指定一個(gè)名稱為portainer。
操作
# /var/run/docker.sock文件本來(lái)就存在 [root@localhost ~]# ll /var/run/docker.sock srw-rw---- 1 root docker 0 Oct 21 21:45 /var/run/docker.sock ? [root@localhost ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /portainer/data:/data --restart=always --name portainer portainer/portainer-ce:latest Unable to find image 'portainer/portainer-ce:latest' locally latest: Pulling from portainer/portainer-ce 2fdd3e02e7e5: Pull complete 3745b0e5e59c: Pull complete d40df14c1d7a: Pull complete 8215717c7c10: Pull complete 542669febe7c: Pull complete 6c27c7f45b54: Pull complete 8acaeb74c182: Pull complete c6e890230c95: Pull complete bb1e24a5d5a1: Pull complete 4350eaf0c914: Pull complete 4f4fb700ef54: Pull complete Digest: sha256:ff9ac3a6e57fb94a489bd3cc02bb0da3887cb2aa6ddbde3e429b1da2bd5826d5 Status: Downloaded newer image for portainer/portainer-ce:latest 7ad59c02e90d7692736112d621acd495227528d20fa8361d6a4049bc311565c5 ? [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7ad59c02e90d portainer/portainer-ce:latest "/portainer" 49 seconds ago Up 48 seconds 8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp portainer ?
瀏覽器訪問(wèn)Linux ip:9000
192.168.193.150:9000

輸入至少12個(gè)字符的密碼,并確認(rèn)輸入密碼,點(diǎn)擊Create user創(chuàng)建用戶

提示:如果5分鐘內(nèi)沒(méi)有輸入密碼并創(chuàng)建成功賬號(hào),訪問(wèn)則報(bào)錯(cuò):
Your Portainer instance has timed out for security purposes
解決辦法,重啟portainer
docker stop portainer docker start portainer
進(jìn)入如下界面

點(diǎn)擊Home


進(jìn)入Dashboard

查看容器
可以點(diǎn)擊Doshboard看到的數(shù)字

也可以直接點(diǎn)擊左側(cè)導(dǎo)航欄的Containers

與命令查看到的容器一致
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7ad59c02e90d portainer/portainer-ce:latest "/portainer" 23 minutes ago Up 16 minutes 8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp portainer 9f7b38244259 registry.cn-shenzhen.aliyuncs.com/bigdata2112/mynginximage:v2 "/docker-entrypoint.…" 3 days ago Exited (0) 3 days ago mynginx-test b5b3bc7c5982 test/myspringbootapp:v3 "java -jar /web/app.…" 3 days ago Exited (143) 3 days ago myspringbootweb ?
查看鏡像

查看網(wǎng)絡(luò)

查看主機(jī)

更多的功能請(qǐng)自行探索。
刪除portainer
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7ad59c02e90d portainer/portainer-ce:latest "/portainer" 35 minutes ago Up 28 minutes 8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp portainer ? # 刪除portainer容器 [root@localhost ~]# docker rm -f 7ad59c02e90d 7ad59c02e90d ? [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
使用 Docker Compose 方式安裝
創(chuàng)建一個(gè) compose.yml 文件,內(nèi)容如下:
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:latest
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
- /portainer/data:/data:rw請(qǐng)將 /portainer/data 替換為你在宿主機(jī)上想要保存 Portainer 數(shù)據(jù)的實(shí)際目錄。
在 compose.yml 文件所在的目錄下,打開(kāi)終端或命令提示符,執(zhí)行以下命令啟動(dòng) Portainer:
docker compose up -d
操作過(guò)程
[root@localhost ~]# mkdir portainer [root@localhost ~]# cd portainer/ [root@localhost portainer]# vi compose.yml
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:latest
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
- /portainer/data:/data:rw[root@localhost portainer]# docker compose up -d [+] Running 2/2 ? Network portainer_default Created 0.1s ? Container portainer Started 0.5s [root@localhost portainer]#
瀏覽器訪問(wèn)

關(guān)閉portainer
[root@localhost portainer]# docker compose down [+] Running 2/2 ? Container portainer Removed 0.4s ? Network portainer_default Removed
再次訪問(wèn)portainer服務(wù)

完成!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker部署elasticsearch和xpack密碼的詳細(xì)過(guò)程
本文主要介紹在docker環(huán)境下如何快速部署elasticsearch單機(jī)版本和集群版本,和增加xpack簡(jiǎn)單用戶名密碼配置,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-01-01
Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | d
這篇文章主要介紹了Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause,本講內(nèi)容是從?Docker入門到進(jìn)階里面抽離出來(lái)的內(nèi)容,從而使原文更加有序、重點(diǎn)突出,需要的朋友可以參考下2023-08-08
docker容器的標(biāo)準(zhǔn)輸入輸出全過(guò)程
文章主要介紹了Docker容器的參數(shù)設(shè)置,包括AttachStdin、AttachStdout、AttachStderr、OpenStdin、StdinOnce和Tty等字段的含義和作用,并通過(guò)命令排列組合和輸入輸出對(duì)應(yīng)關(guān)系詳細(xì)說(shuō)明了這些參數(shù)的使用場(chǎng)景2026-02-02
使用Docker部署todo任務(wù)管理器的實(shí)現(xiàn)
本文介紹使用Docker部署Todo任務(wù)管理器的全過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-07-07
dockerExecute 函數(shù)和docker.build的區(qū)別解析
dockerExecute 通常是一個(gè)自定義的函數(shù)或者由特定的 Jenkins 庫(kù)(如 piper-lib)提供,用于在 Docker 容器中執(zhí)行特定的命令,這篇文章主要介紹了dockerExecute 函數(shù)和docker.build的區(qū)別,需要的朋友可以參考下2024-12-12

