『現學現忘』Docker基礎 — 24、Docker圖形化管理工具Portainer
1、Portainer介紹
(1)Portainer 是一款輕量級的圖形化管理工具,通過它我們可以輕鬆管理不同的 Docker 環境。Portainer 部署和使用都非常的簡單,它由一個可以執行在任何 Docker 引擎上的容器組成。
(2)Portainer 功能十分全面,提供狀態顯示面板、應用模板快速部署、容器映象網路資料卷的基本操作(包括上傳下載映象,建立容器等操作)、事件日誌顯示、容器控制檯操作、Swarm 叢集和服務等集中管理和操作、登入使用者管理和控制等功能。基本能滿足中小型單位對容器管理的全部需求。
簡單來說,Portainer就是Docker的視覺化工具,讓我們可以用更直觀的方式來管理和監控Docker裡面的映象和容器。
Portainer官網:https://www.portainer.io/
Portainer官網提供的安裝文件:
2、Portainer安裝啟動
如果僅有一個Docker宿主機,則可使用單機版執行就可以,來管理該機器上的Docker映象、容器等資料。
直接執行如下命令使用獨立容器啟動 Portainer
步驟1:搜尋Portainer映象
執行命令:docker search Portainer
我們下載第一個映象就可以。
步驟2:下載Portainer映象到本地
執行命令:docker pull portainer/portainer
[root@192 ~]# docker pull portainer/portainer Using default tag: latest latest: Pulling from portainer/portainer d1e017099d17: Pull complete 717377b83d5c: Pull complete Digest: sha256:f8c2b0a9ca640edf508a8a0830cf1963a1e0d2fd9936a64104b3f658e120b868 Status: Downloaded newer image for portainer/portainer:latest docker.io/portainer/portainer:latest [root@192 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat 9.0 040bdb29ab37 2 months ago 649MB portainer/portainer latest 62771b0b9b09 7 months ago 79.1MB
步驟3:執行Portainer映象
執行命令:
docker run -d -p 9000:9000 \
--name portainer \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/portainer_data:/data \
portainer/portainer
解釋上面命令中的引數含義:
-
-d
以後臺方式執行容器; -
-p 9000:9000
將宿主機埠對映到容器埠; -
--name portainer
設定容器名稱,若不指定則隨機生成; -
--restart always
容器退出時總是重新啟動,若需退出手動執行docker stop portainer
; -
-v /var/run/docker.sock:/var/run/docker.sock
將宿主機docker.sock(Docker API)
對映到容器; -
-v portainer_data:/data
對映宿主機資料捲到容器/data
目錄;
使用docker volume create --name portainer_data
命令,單獨建立資料卷也行。
命令中還是使用-v portainer_data:/data
。 -
--privileged-true
:(選用)
使用該引數,container內
的root
擁有真正的root
許可權。
否則,container
內的root
只是外部的一個普通使用者許可權。 -
portainer/portainer
:Portainer的映象名稱。
完成後瀏覽器訪問 http://伺服器IP:9000/
進行初始化配置。
注意:Portainer的資料儲存在容器內部的 /data 目錄,這樣容器重啟的時候資料會丟失,所以要確保資料持久化。
示例:
步驟4:外網主機訪問Portainer容器
其實就是在本地電腦的瀏覽器訪問虛擬機器中Docker的Portainer容器。
即瀏覽器訪問 http://伺服器IP:9000/
進行初始化配置。
如下圖:
3、Portainer初始化配置
輸入密碼進入Portainer。
簡單說明一下介面的內容:
Connect Portalner to the Docker environment you want to manage.
將Portalner連線到您要管理的Docker環境。
-
Local
:Manage the local Docker environment
管理本地Docker環境。 -
Remote
:Manage a remote Docker environment
管理遠端Docker環境(分散式)。 -
Agent
:Connect to a Portalner agent
連線到Portalner代理。 -
Azure
:Connect to Microsoft Azure ACI
連線到Microsoft Azure容器例項(ACI)。
Manage the Docker environment where Portalner Is running.
管理執行Portalner的Docker環境。
Ensure that you have started the Portainer contalner with the following Docker flag:
確保已使用以下Docker標誌啟動了Portainer contalner:
剛才在run
這個映象的時候添加了這些引數。選擇Local
,最後點選Connect
進行連線。
如下圖:
登入後我們可以檢視服務上各個映象、容器、網路、Volume等資訊,並可以對它們進行管理。
關於具體的操作,我們自己點選試著用用就好了,也可以在網上查查,在實際的工作中用的不多,這裡就不展開了。
說明:Portainer工具我們自己會簡單的用用就可以了,在持續整合
CI/CD
的時候,我們一般使用Rancher工具
4、Portainer漢化
(1)環境說明:
- 系統:CentOS 7.8.2003。
- Docker:20.10.5
(2)上傳漢化檔案到伺服器:
將下載漢化包解壓之後,並將解壓後的public
資料夾上傳到centos
系統的根目錄下,如下圖所示:
# 將漢化包public拷貝到/目錄中
[root@192 /]# ll public/
總用量 8
drwxr-xr-x. 2 root root 30 3月 17 22:07 css
drwxr-xr-x. 2 root root 4096 3月 17 22:07 fonts
drwxr-xr-x. 2 root root 272 3月 17 22:07 ico
drwxr-xr-x. 2 root root 165 3月 17 22:07 images
-rw-r--r--. 1 root root 2810 3月 17 22:07 inde
提示:一定要放在根目錄下,我放在其他地方不好使。
(3)啟動Portainer:
就是在上面Portainer啟動命令中加入如下選項:-v /public:/public
[root@192 /]# docker run -d -p 9000:9000 \
> --name portainer \
> --restart always \
> -v /var/run/docker.sock:/var/run/docker.sock \
> -v /tmp/portainer_data:/data \
> -v /public:/public \
> portainer/portainer
b991a3d4058f0abaea218c5b68f6e4987d69ce363c4942ee40e271dd5eb4ca50
[root@192 /]#
使用瀏覽器訪問如下:
提示:如果已部署Portainer容器,需要將之前的容器刪除,在重新啟動。