Docker est un outil essentiel pour une installation facile des applications qui peuvent exécuter vos sites et services, et il est encore plus facile à gérer avec docker-compose.
Certains projets ne sont pas livrés avec des fichiers docker-compose, et il faut du temps pour en créer un soi-même. docker-autocompose peut générer un fichier docker-compose fonctionnel à partir de n'importe quel conteneur Docker en cours d'exécution.
Certaines applications Docker n'ont pas de fichiers de composition
Docker est une plate-forme open source pour le déploiement d'applications dans des composants groupés appelés conteneurs. En utilisant Docker, vous n'avez pas à vous soucier des dépendances ou des interactions entre les services car ceux-ci sont généralement préconfigurés dans une certaine mesure.
Vous pouvez utiliser Docker pour déployer des applications, notamment des serveurs spécialisés, des distributions Linux ou des images personnalisées. L'exécution d'applications avec Docker est relativement facile et peut garantir que vous disposez toujours de la dernière version du logiciel.
Si vous n'êtes pas familier avec le concept d'applications dockerisées, vous devriez lire notre guide essentiel pour pourquoi vous devriez utiliser Docker au lieu d'une machine virtuelle.
Les commandes Docker sont longues et généralement exécutées comme une seule commande présentant toutes les variables pertinentes. Ils sont difficiles à saisir, et bien que vous puissiez ajouter un alias à votre fichier .bashrc, cela revient souvent à frapper à plusieurs reprises Ctrl + R pour trouver la commande Docker exacte que vous souhaitez.
Docker Compose est un outil qui vous aide dans l'interaction et l'orchestration entre conteneurs. Il est si efficace pour vous aider à gérer les conteneurs Docker que de nombreux utilisateurs n'apprennent pas du tout à utiliser Docker. Pourquoi le feriez-vous, alors que tout ce que vous avez à faire est de télécharger un seul fichier YAML et de l'afficher avec une simple commande de deux mots ?
Bien que de nombreuses applications pouvant être déployées par Docker aient des fichiers Compose, ce n'est pas le cas de toutes, ce qui complique les installations et les déploiements rapides et propres de Docker. Ceci est particulièrement courant avec les applications pour le matériel moins courant, telles que ARM64 et ARMhf.
Si vous préférez utiliser docker-compose plutôt que Docker brut, vous pouvez choisir de ne pas utiliser un logiciel particulier s'il n'y a pas de docker-compose.yml pratique dans le référentiel GitHub du projet.
docker-autocompose facilite la génération automatique d'un fichier de composition
docker-autocompose est une application Python qui peut créer un fichier Compose fonctionnel à partir de n'importe quel conteneur Docker en cours d'exécution.
Cela signifie qu'il vous suffit d'exécuter d'abord la commande docker, puis de prendre la sortie générée et de démarrer l'application à l'aide de docker-compose à l'avenir, ou vous pouvez l'ajouter à un fichier Compose existant pour gérer tous vos services à une fois.
Comment installer docker-autocompose sur Linux
Comme docker-autocompose est une application Python, vous devez avoir Python PIP installé sur votre système Linux.
Pour installer Python PIP sur Debian ou Ubuntu :
sudo apt installer python3-pip
Installez PIP sur Arch Linux et ses dérivés en utilisant :
sudo pacman -S python-pip
Pour installer PIP sur CentOS et Red Hat Enterprise Linux, exécutez :
sudo miam installer python3 python3 roues
Il va sans dire que vous devez également avoir Docker et Docker Compose installés.
Clonez le dépôt GitHub pour docker-autocompose et déplacez-vous dans le nouveau répertoire :
git cloner https ://github.com/Red5d/docker-autocompose.git
CD docker-composition automatique
Installez maintenant docker-autocompose en exécutant :
sudopython3installation.pyinstaller
docker-autocompose est maintenant installé.
Utiliser docker-autocompose pour générer des fichiers de composition
Souvent, en cherchant applications Linux essentielles, vous tomberez sur un projet génial fourni avec des images Docker mais sans fichier Compose. Un exemple de ceci est l'excellent client IRC accessible par navigateur, Expédition.
Créez un répertoire pour Dispatch à utiliser :
mkdir ~/envoi
Téléchargez et démarrez le client sur le port 8080 de votre machine locale avec :
menu fixe exécuter -p 8080:80 -v /home/david/dispatch :/data --restart no -d khlieng/expédition
Visitez localhost: 8080 dans votre navigateur pour vérifier si Dispatch fonctionne, puis dites à docker-autocompose de générer le contenu du fichier Compose à partir du conteneur en cours d'exécution avec :
sudo autocompose.py <nom-ou-id-du-conteneur>
Dans ce cas, le nom du conteneur est dispatch et l'ID du conteneur apparaîtra en sortie dans votre terminal immédiatement après l'exécution de la commande docker.
Alternativement, vous pouvez créer le contenu du fichier Compose que vous pouvez utiliser pour démarrer tous vos conteneurs Docker en cours d'exécution avec :
sudo autocompose.py $(docker ps -aq)
Aucun fichier Docker Compose ne sera généré, vous devez donc copier la sortie standard dans votre presse-papiers, puis créer un nouveau fichier avec :
nanodocker-composer.yml
Collez le contenu de votre presse-papiers, puis enregistrez et quittez nano avec Ctrl + O, alors Ctrl + X.
Vous pouvez maintenant démarrer tous vos conteneurs en même temps avec :
docker-composer jusqu'à -d
Alternativement, vous pouvez exécuter docker-autocompose en utilisant Docker lui-même en exécutant :
menu fixe exécuter --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <noms-ou-ids-supplémentaires>
... qui est une commande qui vous rappelle pourquoi vous avez besoin de docker-autocompose pour commencer.
Créez instantanément des fichiers de composition fonctionnels à partir de conteneurs Docker en cours d'exécution
Docker et Docker Compose sont une partie de plus en plus importante de l'écosystème d'applications Linux et prouvent particulièrement utile pour les sites et services auto-hébergés sur la carte unique Raspberry Pi omniprésente ordinateur.
Si vous n'avez pas encore commencé votre voyage vers la création de votre propre écosystème en ligne, vous devriez jeter un coup d'œil à certains des projets Web impressionnants que vous pouvez exécuter sur le Pi.