Portainer est un outil vous permettant de manager votre serveur Docker, grâce à une interface web moderne et ergonomique.
De base créé pour les serveurs sous Linux / Docker, il est toutefois possible d’exploiter les possibilités de Portainer sur / pour votre machine Windows. Cet article ne traite pas la présentation de l’outil, plutôt de sa mise en place.
Dans un premier temps, nous allons modifier le pare-feu local de Windows pour créer une adresse de loopback. Cette adresse est nécessaire pour permettre à vos applications conteneurisées et à Docker de se voir elles-mêmes.
Par défaut, Docker sous Windows aura une adresse IP dans le réseau 10.0.75.0/24. Si ce n’est pas le cas, vous devrez modifier le script ci-dessous en fonction de votre infrastructure. Le port d’écoute pour le management est le 2375, que nous devons aussi « ouvrir » pour le loopback processing. Ci-dessous les deux commandes à effectuer dans un CMD en tant qu’Administrateur :
netsh interface portproxy add v4tov4 listenaddress=10.0.75.1 listenport=2375 connectaddress=127.0.0.1 connectport=2375
netsh advfirewall firewall add rule name="docker management" dir=in action=allow protocol=TCP localport=2375
Vous pouvez aussi passer via la MMC « Pare-feu Windows » plutôt que d’effectuer des lignes de commande.
Maintenant que le pare-feu est configuré, créons le fichier YAML pour initialiser le conteneur Docker (via docker-compose) :
version: '3.6'
services:
portainer:
image: portainer/portainer
restart: always
command: -H tcp://10.0.75.1:2375
networks:
- lolcal
ports:
- 9000:9000
volumes:
- ./data-portainer:/data
Vous remarquerez la différence de connexion entre un Linux et un Windows > ici, nous utilisons dans la commande du TCP et non pas un socket Unix (logique). Rien d’autre de particulier dans ce fichier, si ce n’est que la jonction à un réseau et le stockage dans le dossier « data-portainer » pour voir ce qu’il s’y passe.
Je ne vais pas m’éterniser sur le sujet – la subtilité étant « uniquement » dans la commande Windows par rapport à Linux. Enjoy !