我的评价:个人使用 Docker 服务的可视化管理终结者!
Portainer
是 Docker
的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm 集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足个人用户对容器管理的全部需求。
更多的情况下,我们会使用 Docker
集群,里面可能有几台机器,也可能有几十台机器。因此,进行集群管理也是十分重要了,当然,我们的 Portainer
也支持集群管理的,可以和 Swarm
一起使用。
- 状态面板
- 应用模板
- 模板管理
- 容器管理
- 镜像管理
- 网络管理
- 数据卷管理
- 日志管理
- 主机管理
- 私有仓库管理 - 收费选项
- 权限控制管理 - 收费选项
- OAuth 认证管理 - 收费选项
1. Portainer 服务启动
一入 Docker 终难回,方知启动如此简单!
- [1] 单机版安装
# 创建存储卷
$ 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
- [2] 集群版安装
# 创建存储卷
$ 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
- [3] 自定义 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:
- [4] 官网 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:
- [5] 官网部署集群方式 - 实例地址
# 集群也可以使用如下正统方式安装部署
$ docker stack deploy --compose-file=docker-stack.yml portainer
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:
2. Portainer 安装步骤
使用之前,需要我们一步一步的安装!
- 首次登陆需要注册用户,给
admin
用户设置密码。
- 单机版: 选择
Local
选项,即可连接到本地Docker
服务。
- 如果是集群方式启动的,建议将
Portainer
服务安装启动在Swarm
的管理节点上,并且首次设置Endpoint URL
时设置管理节点的URL
。 - 集群版: 选择
Remote
选项,下面输入一个名称和对应接入地址。其中名称(Name
)可以自行定义,而接入地址(Endpoint URL
)是Swarm
集群中设置的节点URL
地址,比如IP
是10.0.100.150
,监听的端口是默认的2375
。 - 填写完毕点击
Connect
即可进入管理页面,在管理页面左上角会显示管理的集群节点列表。想要查看那个节点的信息,则点击对应节点即可进入管理界面了。
3. Portainer 效果图
不使用的话,你永远都不知道我有多美!