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