install-portainer-docker
Comment utiliser Docker Compose dans Portainer
Portainer est un outil de gestion de conteneurs open source qui fournit une interface utilisateur graphique (GUI) pour votre environnement Docker. Dans ce tutoriel, je vais montrer comment utiliser Docker et Docker Compose à Portainer avec des exemples spécifiques.
Qu'est-ce que Portainer?
Portainer est un outil d'interface utilisateur web qui fournit une expérience visuelle dans votre environnement et vous permet d'attraper un coup d'oeil sur les conteneurs, images, volumes, réseaux et autres composants sans exécuter de commandes Docker fastidieuses sur le terminal.
Pourquoi utiliser Portainer avec Docker?
Portainer centralise la gestion de Docker à partir d'un point unique. Vous pouvez facilement déployer des applications conteneurisées et des piles technologiques en quelques clics de souris.
Prérequis Conditions préalables
Pour suivre ce tutoriel, assurez-vous d'avoir les conditions préalables suivantes en place.
- Une instance de serveur Linux
- Ubuntu 22.04
- Debian 11 ou 12
- Docker doit être installé sur votre instance Linux.
- Installez docker-compose sur votre instance.
Comment utiliser Docker Compose dans Portainer
Ci-dessous, je vous explique comment utiliser Docker Compose à Portainer en trois étapes.
- comment installer Portainer dans Docker
- comment accéder à Portainer
- comment déployer un serveur web Nginx avec Docker compose sur Portainer
Installer Portainer sur Docker en utilisant docker-compose
Portainer est généralement déployé comme un conteneur Docker à l'aide du moteur Docker.
Vous pouvez déployer un portainer en utilisant un volume persistant en utilisant les commandes Docker suivantes:
- La première commande crée un volume persistant où les données seront stockées en permanence.
docker volume create portainer_data
- La commande suivante fait tourner un conteneur Portainer en utilisant le volume persistant.
docker run -d -p 9000:9000 --name portainer_ce --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Expliquons la commande:
La commande ci-dessus comporte plusieurs drapeaux:
- Le flag
d
fait passer le container en mode dét ché. Cela signifie simplement que le conteneur fonctionne en arrière plan. - Le flag
p
est le port 9000 qui est éxécuter sur le conteneur sur le port 9000 sur l'hôte Docker. - Le flag
--name
option attribute un nom personnalisé au conteneur, dans le cas, on a choisitportainer_ce
le flag permet d'attribuer un nom favorable. - Le flag
--restart always
l'option ordonne à Docker de redémarrer toujours le conteneur en cas de redémarrage ou à l'arrêt. - Le flag
-v /var/run/docker.sock:/var/run/docker.sock
controle Docker vers le conteneur portainer afin que Portainer puisse accéder au daemon Docker et intéragir avec lui. - Le
-v portainer_data:/data
cartographie le stockage de données sur le portainer jusqu'au volume persistant appeléportainer_data
résidant sur l'hôte Docker.
Docker-compose Portainer.
Une meilleure approche pour déployer et exécuter Portainer est d'utiliser Docker Compose. Cela vous permet de déployer une application conteneur à partir d'un fichier de configuration YAML avec juste une seule commande.
Pour installer Docker Compose, exécutez la commande:
sudo apt install docker-compose docker-compose-plugin -y
Une fois que Docker Compose est installé, vérifiez sa version comme suit.
docker-compose version
Une fois installé, créer un fichier Docker compose YAML.
sudo nano docker-compose.yml
Ajouter les lignes de code suivantes qui détailleraient les ressources à déployer.
version: "3"
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
ports:
- 9000:9000
volumes:
- portainer_data:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
volumes:
portainer_data:
[NOTES]
Le fichier YAML inclut tous les paramètres stipulés dans le docker run
commandement.
Le champ d'image est configuré pour portainer/portainer-ce:latest
utiliser la dernière image CE de Portainer de Docker Hub. Le container_image
champ est fixé à portainer qui sera le nom du conteneur Portainer Docker.
Le champ des ports est prévu pour cartographier le port 9000
sur le conteneur au port 9000 sur l'hôte Docker. Ainsi, le conteneur Portainer sera consulté par la navigation. https://host-ip:9000
.
Le volumes
champ configure un volume de données qui est monté sur le /data
un répertoire à l'intérieur du conteneur. Le volume est un emplacement de stockage persistant qui maintient les données de Portainer même lorsque le conteneur redémarre ou existe.
La daemon Docker, /var/run/docker.sockest
fixé directement dans le conteneur. Cela permet à Portainer d'accéder à l'installation Docker et de le gérer.
lancer Portainer, dirigez la commande suivante:
docker-compose up -d
Une fois la commande exécutée, Docker pull l'image Portainer et crée le conteneur Portainer à côté d'autres ressources définies dans le fichier de composition Docker.
2. Access Portainer
Avec le conteneur Portainer en cours d'exécution, accédez à Portainer en lançant votre navigateur et en vous dirigeant vers l'URL https://host-ip:9000
[NB:]
Vous recrenez un avertissement de sécurité vous informant que la connexion n'est pas privée. Cela montre que Portainer utilise un certificat SSL
auto-signé pour chiffrer le trafic web. Pour continuer, cliquez sur Advancedle lien, puis le clic Proceed to [insert server IP address]
-
Dans le portainer, vous devrez créer un administrateur. Fournir un mot de passe et le confirmer. Puis cliquez sur
Create user
de créer l'utilisateur. -
Une fois l'utilisateur créé, vous serez redirigé vers un assistant de configuration. Cliquez sur le
Get Started
un bouton pour procéder avec la douille Docker locale montée dans le conteneur. -
Cela vous inaugure le tableau de bord de votre environnement local comme montré. Cliquez n'importe où dans la région en surbrillance indiquée.
-
Cela vous amène à un tableau de bord qui fournit un résumé de votre environnement, y compris le nombre de piles, de conteneurs, d'images, de volumes et de réseaux.
Déployer le serveur web Nginx avec Docker compose sur Portainer
Portainer offre plusieurs options pour le déploiement d'applications. L'un d'eux est le Stacks
option qui s'enroule autour du Docker compose la fonctionnalité.
Une pile est simplement un ensemble d'un ou plusieurs conteneurs qui constituent une application complète. Il pourrait se composer d'une interface utilisateur frontale, d'un serveur de base de données et d'une API.
NGINX docker portainer Cette section montre comment déployer un simple serveur web Nginx en utilisant la fonctionnalité de composer Docker.
- Rendez-vous sur la barre latérale gauche et cliquez sur
Stacks
. Dans leStacks
list Cliquez sur la sectionAdd
stack bouton.
Vous serez présenté avec quatre façons de créer une pile technologique à l'aide d'un fichier Docker.
Éditeur Web : Il vous permet de définir un fichier Docker Compose manuellement en le tapant dans l'éditeur Web fourni. C'est l'option par défaut.
Téléchargement : Comme le nom l'indique, cette option vous permet de télécharger un fichier YAML de composer un fichier YAML existant à partir de votre PC.
Dépositaire : Il charge un fichier Docker compose directement à partir d'un dépôt Git
Modèle personnalisé : Cela vous permet de faire vos modèles réutilisables. Vous pouvez y parvenir en vous en allant à la barre latérale gauche et en sélectionnant les modèles d'application et les modèles personnalisés.
[informations] Dans notre cas, nous déploierons un serveur web Nginx de base à l'aide de l'éditeur web. Voici un fichier de composition Docker que vous pouvez utiliser.
Collez le code dans l'éditeur de portainer.
version: '3.8'
services:
nginx:
image: nginx:latest
container_name: my-blog-test
ports:
- "5000:80"
volumes:
- /var/www/html:/usr/share/nginx/html
restart: always
Ensuite, faites défiler vers le bas et basculer le Enable access
controlla possibilité de rendre la demande accessible au public. Puis frappez le Deploy the stack
bouton.
Votre conteneur nouvellement créée apparaîtra dans le Stacks list section.
Ensuite, naviguez vers le répertoire racine web sur votre hôte Docker.
cd /var/www/html/
Créer un index.html Fichier.
sudo nano index.html
Ajouter les lignes de code suivantes. Le code définit la page d'accueil du serveur web.
<!DOCTYPE html>
<html>
<head>
<title>Hello, Nginx!</title>
</head>
<body>
<h1>Nginx Successfully Deployed!</h1>
<p>Nginx web server was successfully deployed in a Docker container</p>
</body>
</html>
Sauvez et sortez. Visitez ensuite l'adresse IP de votre hôte sur le port 5000
http://host-ip:5000
Vous devriez obtenir la page web suivante indiquant que Nginx a été déployé avec succès.
Conclusions
Portainer est un excellent outil pour le déploiement et la gestion d'applications conteneurisées dans votre environnement Docker. Dans ce tutoriel, vous avez appris à déployer Portainer en utilisant Docker Compose. En outre, vous avez vu à quel point il est transparent d'utiliser Portainer pour déployer une pile technologique à l'aide de Docker Compose.