Portainer
Portainer est un conteneur qui sert à gérer des conteneurs de façon graphique.
Installation de Portainer
1. Créer un volume pour le conteneur
docker volume create portainer_data
2. Pour lancer le conteneur il faut utiliser docker run, l’application tournera sur le port 9000
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
Pour lancer Portainer avec docker-compose, créer un fichier docker-compose.yml
version: '3'
services:
portainer:
image: portainer/portainer-ce:latest
ports:
- 9000:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: always
volumes:
portainer_data:
Et le lancer avec la commande docker-compose up -d
docker-compose up -d
3. Accéder au conteneur à http://localhost:9000
4. Il vous sera ensuite demandé de créer un mot de passe Administrateur afin d’accéder à l’application. Pour accéder aux conteneurs locaux, aller sur Home puis sur « local » cliquer sur Live Connect
Ajouter un stack docker-compose
1. Pour déployer un stack docker-compose, aller dans Stacks puis cliquer sur + Add stack
2. Nommer votre conteneur puis sélectionner Web Editor et coller votre docker-compose (ici Bitwarden pour exemple).
3. Pour finaliser le déploiement du stack cliquer sur Deploy the stack
4. Aller dans Containers pour voir votre conteneur
Ajout d'environnement Docker
Pour ajouter un autre environnement à Portainer, il faut déployer sur une autre instance le conteneur Portainer_agent, et ajouter l’adresse à son Portainer.
1. Sur son instance Portainer, aller dans l’onglet Environments et cliquer sur le bouton + Add environment
2. Choisir Docker Standalone et cliquer sur Start Wizard
Il faut ensuite retourner sur l’instance Portainer que vous voulez connecter et lancer le conteneur portainer_agent avec docker run ou docker-compose
Via docker run :
docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent
Via docker-compose :
version: '3'
services:
agent:
image: portainer/agent
container_name: portainer_agent
restart: unless-stopped
security_opt:
- no-new-privileges:true
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /var/lib/docker/volumes:/var/lib/docker/volumes
ports:
- 9001:9001
3. Retourner sur son instance Portainer, et nommer le nouvel environnement et mettre l’adresse IP et le port de votre autre environnement et cliquer sur le bouton « Connect »
Mettre à jour portainer_agent
1. Se connecter sur la machine hôte
2. Télécharger la dernière version de l’image de portainer_agent
docker pull portainer/agent:latest
3. Arreter et supprimer le conteneur portainer_agent :
docker stop portainer_agent
docker rm portainer_agent
4. Relancer le conteneur portainer_agent :
docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent