• 1 Votes
    1 Messages
    142 Vues

    pngfind.com-starbound-logo-png-5378357.png

    Installation de Portainer

    Portainer vous permets de gérer Docker dans une interface web.

    – Portainer lui-même se lance en tant que container Docker, très léger avec ses 4 Mo seulement.

    – D’abord, il faut créer/monter le socket local de docker en tant que volume Docker , vous pouvez le voir comme un partage qui sera monté dans votre conteneur.

    Si vous ne créez pas ce volume, à chaque redémarrage de votre conteneur toutes les données seront effacées pour revenir à l’état initial. C’est ce volume que vous devez sauvegarder à minima. Bref, vous pouvez le créer comme ça:

    docker volume create portainer_data

    – Puis on créé simplement le conteneur pour Portainer :

    docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce -d: mode detached (un peu similaire à un mode daemon), pour éviter d’avoir les redirections d’entrée sortie de votre conteneur dans votre shell. -p 8000:8000 -p 9000:9000: c’est pour redirection de port, la partie réseau de Docker fonctionne via un réseau local privé (dans 172.16.0.0/12 par défaut) et va mettre en place un NAT avec iptables devant docker pour permettre d’accéder au service depuis l’extérieur. –name=portainer: le nom que vous voulez donner à votre conteneur et qui sera affiché dans l’interface. –restart=always: le comportement que docker doit avoir en cas d’arrêt du conteneur. -v portainer_data:/data: indique où monter le volume qu’on a créé dans le conteneur (et pareil pour la socket docker juste avant pour que portainer communique avec docker). Configuration de Portainer

    – L’accès via l’URL suivante:

    http://ip.de.votre.machine:9000

    – Une fois sur l’interface, paramétrer le mot de passe admin:

    38a0107e-7fac-4b1a-a4d2-bc7f97aa70aa-image.png

    – La prochaine étape est de configurer l’environnement Docker sur lequel se connecter et que Portainer pourra gérer.

    – Ici, nous allons sélectionner Docker-Manage the local Docker environment (on a déjà monté le socket Docker en tant que volume.)
    et on clique sur Connect:

    1f653289-a323-435b-b94d-ef13a0f6f926-image.png

    – On se retrouve connecté sur l’interface d’accueil, le dashboard, où vous aurez un résumé des environnements Docker que Portainer peut administrer.

    – En cliquant dessus, vous accéderez aux différentes fonctions de gestion des images, des containers, des stacks, …
    – Il suffit de cliquer sur local ci-dessous pour lister vos dockers disponibles :

    28cee6e0-c46b-4ddf-b2ca-48a5f2b61d4f-image.png

    – Vous pouvez afficher, les containers Docker que vous avez déjà sur votre hôte en cliquant sur containers :

    5fa2d29f-1e47-4888-a702-b13395a153e6-image.png

    – On retrouve alors les 2 conteneurs que l’on a mis en place:

    f9d6e028-6192-48c8-96f2-72da96e11466-image.png

    Accès HTTPS via reverse proxy Nginx On installe nginx de manière normale. Vous pouvez aussi le “dockeriser” si vous voulez 🙂 apt install nginx On créé et on édite le fichier de configuration: nano /etc/nginx/apps/portainer.conf location /portainer/ { proxy_pass http://127.0.0.1:9000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host:443; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-Port 443; proxy_set_header X-Forwarded-Proto $scheme; # Websocket proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; }

    ou

    location /portainer/ { resolver 127.0.0.1 valid=5s; proxy_pass http://127.0.0.1:9000/; proxy_set_header Host $host; }

    – On stoppe le conteneur docker :

    docker stop portainer

    – On redémarre nginx:

    systemctl restart nginx

    – On redémarre le conteneur docker :

    docker start portainer

    – Accès HTTPS en reverse proxy:

    https://XXX.XXX/portainer/