portainer官网上给出的docker-compose文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:lts
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
ports:
- 9443:9443
- 8000:8000 # Remove if you do not intend to use Edge Agents

volumes:
portainer_data:
name: portainer_data

networks:
default:
name: portainer_network

需改成下面的,才能接traefik

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:lts
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
# 端口映射其实都可以去掉,Traefik 走内网网络就行
# ports:
# - 9443:9443
networks:
- traefik
labels:
- "traefik.enable=true"
- "traefik.http.routers.portainer.rule=Host(`portainer.${HOST_DOMAIN}`)"
- "traefik.http.routers.portainer.entrypoints=websecure"
- "traefik.http.routers.portainer.tls=true"
# 后端改为 HTTP 9000
- "traefik.http.services.portainer.loadbalancer.server.port=9000"