Table des matières

, , , ,

Portainer

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.

Installation

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:

Portainer derrière un reverse proxy Traefik

Pour placer Portainer derrière le reverse proxy Traefik, on peut créer un service avec docker-compose.

Pour que Traefik puisse communiquer avec le service, le service doit être sur le même réseau que Traefik. Dans cet exemple le réseau de Traefik préexistant est nommé “http_loadbalancing_default”
docker-compose.yml
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

Masquer des conteneurs

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:

 

Références