[Docker] Installer Portainer en Docker
-

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:

– 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:

– 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 :
– Vous pouvez afficher, les containers Docker que vous avez déjà sur votre hôte en cliquant sur containers :

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

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.conflocation /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:
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
S'inscrire Se connecter