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

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

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

點擊Home


進(jìn)入Dashboard

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

也可以直接點擊左側(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ò)

查看主機

更多的功能請自行探索。
刪除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)建一個 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請將 /portainer/data 替換為你在宿主機上想要保存 Portainer 數(shù)據(jù)的實際目錄。
在 compose.yml 文件所在的目錄下,打開終端或命令提示符,執(zhí)行以下命令啟動 Portainer:
docker compose up -d
操作過程
[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]#
瀏覽器訪問

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

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

