Skip to content

使用Portainer管理多个Docker环境

Portainer 简介

官网:https://www.portainer.io/

Portainer是一个简单易用的Docker管理工具,自带WebUI。开源免费。

DockerPortainer

Portainer 架构

在Portainier的架构中,管理节点是Portainer Server,被管理节点通过部署Agent来与Server通信。

按照网络环境的不同,Portainer将Agent分为两种: Portainer AgentEdge Agent

  1. Portainer Agent:当被管理服务器位于公网时,有公网IP,Server可以主动与其连接。此时,在被管理服务器上部署Portainer Agent来实现与Server之间的通信。

https://docs.portainer.io/v/be-2.12/start/install/agent/docker/linux

  1. Edge Agent: 当被管理服务器位于内网时,Server无法主动与其连接。此时,需要在被管理服务器上部署Edge Agent,Edge Agent会周期性的从Server中获取需要执行的任务,从而实现与Server之间的通信。

https://docs.portainer.io/v/be-2.12/start/install/agent/edge

添加新的Docker环境到Server

接下来介绍一下通过部署Portainier Agent来控制公网服务器中 Docker环境的过程。

  1. 在被管理服务器上使用docker部署portainer agent。

    shell
    docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:2.12.1

    参考: https://docs.portainer.io/v/be-2.12/start/install/agent/docker/linux

  2. 在Server上添加新的Environment,填写对应的IP和端口即可。 PortainerAgent添加过程

    参考: https://docs.portainer.io/v/be-2.12/admin/environments/add/docker#method-2-connecting-via-the-portainer-agent