Docker este un instrument esențial pentru instalarea ușoară a aplicațiilor care vă pot rula site-urile și serviciile și este chiar mai ușor de gestionat cu docker-compose.
Unele proiecte nu vin cu fișiere docker-compose și este nevoie de timp pentru a crea unul singur. docker-autocompose poate genera un fișier docker-compose funcțional din orice container Docker care rulează.
Unele aplicații Docker nu au fișiere Compose
Docker este o platformă open-source pentru implementarea aplicațiilor în componentele grupate cunoscute sub numele de containere. Folosind Docker, nu trebuie să vă faceți griji în legătură cu dependențele sau interacțiunile dintre servicii, deoarece acestea sunt de obicei preconfigurate într-o anumită măsură.
Puteți folosi Docker pentru a implementa aplicații, inclusiv servere specializate, distribuții Linux sau imagini personalizate. Rularea aplicațiilor cu Docker este relativ ușoară și vă poate asigura că aveți întotdeauna cea mai recentă versiune de software.
Dacă nu sunteți familiarizat cu conceptul de aplicații dockerizate, ar trebui să citiți ghidul nostru esențial pentru de ce ar trebui să utilizați Docker în loc de o mașină virtuală.
Comenzile Docker sunt lungi și de obicei executate ca o singură comandă care prezintă toate variabilele relevante. Sunt dificil de introdus și, deși puteți adăuga un alias la fișierul dvs. .bashrc, adesea se reduce la lovirea în mod repetat. Ctrl + R pentru a găsi comanda Docker exactă pe care o doriți.
Docker Compose este un instrument care vă ajută cu interacțiunea și orchestrarea între containere. Este atât de eficient în a vă ajuta să gestionați containerele Docker, încât mulți utilizatori nu învață deloc cum să folosească Docker. De ce ați face, când tot ce trebuie să faceți este să descărcați un singur fișier YAML și să îl aduceți cu o comandă simplă din două cuvinte?
Deși multe aplicații care pot fi implementate de Docker au fișiere Compose, nu toate au, ceea ce îngreunează instalările și implementările Docker rapide și curate. Acest lucru este obișnuit în special cu aplicațiile pentru hardware mai puțin mainstream, cum ar fi ARM64 și ARMhf.
Dacă preferați să utilizați docker-compose decât Docker brut, ați putea alege să nu utilizați o anumită bucată de software dacă nu există un docker-compose.yml la îndemână în depozitul GitHub al proiectului.
docker-autocompose Ușurează generarea automată a unui fișier compus
docker-autocompose este o aplicație Python care poate crea un fișier Compose funcțional din orice container Docker care rulează.
Aceasta înseamnă că trebuie doar să rulați mai întâi comanda docker, apoi să luați rezultatul generat și să porniți aplicația folosind docker-compose în viitor sau îl puteți adăuga la un fișier Compose existent pentru a vă gestiona toate serviciile la o singura data.
Cum se instalează docker-autocompose pe Linux
Deoarece docker-autocompose vine ca o aplicație Python, trebuie să aveți instalat Python PIP pe sistemul dumneavoastră Linux.
Pentru a instala Python PIP pe Debian sau Ubuntu:
sudo apt instalare python3-pip
Instalați PIP pe Arch Linux și derivatele sale folosind:
sudo pacman -S python-pip
Pentru a instala PIP pe CentOS și Red Hat Enterprise Linux, rulați:
sudo yum instalare python3 python3-wheel
Este de la sine înțeles că trebuie și tu au instalate Docker și Docker Compose.
Clonați depozitul GitHub pentru docker-autocompose și mutați-vă în noul director:
git clonare https://github.com/Red5d/docker-autocompose.git
CD docker-autocompose
Acum instalați docker-autocompose rulând:
sudopython3înființat.pyinstalare
docker-autocompose este acum instalat.
Utilizați docker-autocompose pentru a genera fișiere de compunere
Adesea, în timpul căutării aplicații esențiale Linux, veți da peste un proiect minunat care vine cu imagini Docker, dar fără un fișier Compose. Un exemplu în acest sens este excelentul client IRC accesibil prin browser, Expediere.
Creați un director pe care Dispatch să îl utilizeze:
mkdir ~/dispatch
Descărcați și porniți clientul pe portul 8080 al mașinii dvs. locale cu:
docker run -p 8080:80 -v /home/david/dispatch:/data --restart no -d khlieng/expediere
Vizitați localhost: 8080 în browser pentru a verifica dacă Dispatch funcționează, apoi spuneți docker-autocompose să genereze conținutul fișierului Compose din containerul care rulează cu:
sudo autocompose.py <container-name-or-id>
În acest caz, numele containerului este expediere, iar ID-ul containerului va apărea ca rezultat în terminalul dvs. imediat după rularea comenzii docker.
Alternativ, puteți crea conținutul fișierului Compose pe care îl puteți utiliza pentru a porni toate containerele Docker care rulează cu:
sudo autocompose.py $(docker ps -aq)
Nu va fi generat niciun fișier Docker Compose, așa că trebuie să copiați stdout-ul în clipboard, apoi să creați un fișier nou cu:
nanodocker-compune.yml
Inserați conținutul clipboard-ului, apoi salvați și ieșiți din nano cu Ctrl + O, apoi Ctrl + X.
Acum puteți începe toate containerele dvs. simultan cu:
docker-compune până -d
Alternativ, puteți rula docker-autocompose folosind Docker însuși, rulând:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <nume-sau-id-uri suplimentare>
...care este o comandă care vă reamintește de ce aveți nevoie de docker-autocompose pentru a începe.
Creați instantaneu fișiere de compunere de lucru din containerele Docker care rulează
Docker și Docker Compose sunt o parte din ce în ce mai importantă a ecosistemului de aplicații Linux și se dovedește deosebit de valoros pentru site-uri și servicii de auto-găzduire pe placa unică Raspberry Pi omniprezentă calculator.
Dacă nu v-ați început deja călătoria către crearea propriului ecosistem online, ar trebui să aruncați o privire la unele dintre proiectele minunate orientate spre web pe care le puteți rula pe Pi.