Outils pour utilisateurs

Outils du site


sysadmin:docker:portainer

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:

  • Le serveur Portainer: exécute l'interface de gestion WebUI, dialogue avec les agents.
  • L'agent Portainer, s'installe sur les environnements docker distants à gérer.

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:

  • On définit un mot de passe pour admin
  • On choisit de gérer l'environnement docker local

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

sysadmin/docker/portainer.txt · Dernière modification : 2021/02/07 13:48 de yoann