Portainer permet de gérer dans un environnement graphique web les conteneurs tout au long de leur cycle de vie.
Portainer comprend deux éléments:
Chaque élément s’exécute dans des conteneurs au sein d'un docker engine ou dans un cluster Swarm.
Par défaut l'interface de gestion (le serveur Portainer) est exposée sur le port 9000 du container.
Créer un volume:
docker volume create portainer_databank
Déployer Portainer sur le serveur docker local via l'image docker disponible sur le registry:
docker run -d -p 9000:9000 --name=portainer \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_databank:/data portainer/portainer-ce
Via le navigateur, on termine la configuration à l'URL http://localhost:9000:
Pour placer Portainer derrière le reverse proxy Traefik, on peut créer un service avec docker-compose.
version: "3.3" services: portainer: image: "portainer/portainer-ce" container_name: "portainer" restart: always networks: - http_loadbalancing_default volumes: - type: volume source: portainer_databank target: /data - type: bind source: /var/run/docker.sock target: /var/run/docker.sock labels: - "traefik.http.routers.portainer.rule=Host(`portainer.localhost`)" - "traefik.http.services.portainer.loadbalancer.server.port=9000" - "traefik.http.routers.portainer.entrypoints=http" volumes: portainer_databank: networks: http_loadbalancing_default: external: name: http_loadbalancing_default
Lors de la création d'un conteur, un label peut être définit pour que le conteneur ne soit pas pris en compte par Portainer: