title: Portainer远程管理 date: 2024-11-16T09:54:20+08:00
设置步骤:
在 B 电脑上安装 Agent 容器。
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
version: '3.8' # 可以根据你的需要选择版本
services:
portainer_agent:
image: portainer/agent:latest
container_name: portainer_agent
restart: always
ports:
- "9001:9001/tcp"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
- /var/lib/docker/volumes:/var/lib/docker/volumes:rw
networks:
- portainer_network
networks:
portainer_network:
driver: bridge
在 A 电脑(Portainer UI)上添加连接,选择 Agent,填写 B 电脑的 IP 和 9001 端口。
优点:
缺点:
需要在每个目标机器上部署 Agent 容器。
在 B 电脑的 Docker 守护进程中启用远程 API,编辑 Docker 配置文件 /etc/docker/daemon.json:
{
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
重启 Docker 服务:
systemctl restart docker
在 Portainer 上添加连接,选择 Docker API,填写 B 电脑的 IP 和 2375 端口。
优点:
缺点:
默认情况下 API 没有加密(需启用 TLS 证书),存在安全风险。
在 A 或 B 电脑上挂载 /var/run/docker.sock,运行 Portainer 容器。
docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer-ce
无需额外配置即可管理该主机上的 Docker。
优点:
缺点:
只能管理本地主机,无法跨主机操作。
在目标主机上安装 Edge Agent 容器:
docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer_edge_agent \
--restart always \
-e EDGE=1 \
-e EDGE_ID=<edge_id> \
-e EDGE_KEY=<edge_key> \
portainer/agent
(具体的 <edge_id> 和 <edge_key> 会在 Portainer 添加 Edge 环境时生成。)
缺点:
配置较复杂。