文章來自:PHP開源社群
Portainer 是 Docker 的圖形化管理工具,提供狀態顯示皮膚、應用模板快速部署、容器映象網路資料卷的基本操作(包括上傳下載映象,建立容器等操作)、事件日誌顯示、容器控制檯操作、Swarm 叢集和服務等集中管理和操作、登入使用者管理和控制等功能。功能十分全面,基本能滿足個人使用者對容器管理的全部需求。
更多的情況下,我們會使用 Docker 叢集,裡面可能有幾臺機器,也可能有幾十臺機器。因此,進行叢集管理也是十分重要了,當然,我們的 Portainer 也支援叢集管理的,可以和 Swarm 一起使用。
Portainer 服務啟動
一入 Docker 終難回,方知啟動如此簡單!
單機版安裝
# 建立儲存卷
$ docker volume create portainer_data
# 啟動服務
$ docker run -d -p 80:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer
叢集版安裝
# 建立儲存卷
$ docker volume create portainer_data
# 啟動服務
$ docker service create \
--name portainer \
--publish 80:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=volume,src=portainer_data,dst=/data \
portainer/portainer \
-H unix:///var/run/docker.sock
自定義 docker-compose 安裝
version: "3.2"
services:
portainer:
image: portainer/portainer
command: -H unix:///var/run/docker.sock
restart: always
ports:
- 80:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
官網 docker-compose 安裝 - 例項地址
version: "2"
services:
nginx-proxy:
image: jwilder/nginx-proxy
restart: always
networks:
- proxy
ports:
- "80:80"
volumes:
- "/var/run/docker.sock:/tmp/docker.sock:ro"
- "./vhost.d:/etc/nginx/vhost.d:ro"
portainer:
image: portainer/portainer
restart: always
environment:
- VIRTUAL_HOST=dev.portainer
networks:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
networks:
proxy:
volumes:
portainer_data:
官網部署叢集方式 - 例項地址
# 叢集也可以使用如下正統方式安裝部署
$ docker stack deploy --compose-file=docker-stack.yml portainer
bash
version: '3.2'
services:
agent:
image: portainer/agent
environment:
# REQUIRED: Should be equal to the service name prefixed by "tasks." when
# deployed inside an overlay network
AGENT_CLUSTER_ADDR: tasks.agent
# AGENT_PORT: 9001
# LOG_LEVEL: debug
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
networks:
- agent_network
deploy:
mode: global
placement:
constraints: [node.platform.os == linux]
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify
ports:
- "9000:9000"
- "8000:8000"
volumes:
- portainer_data:/data
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
volumes:
portainer_data:
Portainer 安裝步驟
使用之前,需要我們一步一步的安裝!
首次登陸需要註冊使用者,給 admin 使用者設定密碼。
單機版: 選擇 Local 選項,即可連線到本地 Docker 服務。
如果是叢集方式啟動的,建議將 Portainer 服務安裝啟動在 Swarm 的管理節點上,並且首次設定 Endpoint URL 時設定管理節點的 URL。
叢集版: 選擇 Remote 選項,下面輸入一個名稱和對應接入地址。其中名稱(Name)可以自行定義,而接入地址(Endpoint URL)是 Swarm 叢集中設定的節點 URL 地址,比如 IP 是 10.0.100.150,監聽的埠是預設的 2375。
填寫完畢點選 Connect 即可進入管理頁面,在管理頁面左上角會顯示管理的叢集節點列表。想要檢視那個節點的資訊,則點選對應節點即可進入管理介面了。
Portainer 效果圖
不使用的話,你永遠都不知道我有多美!
本作品採用《CC 協議》,轉載必須註明作者和本文連結