Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Docker er et vigtigt værktøj til nem installation af de apps, der kan køre dine websteder og tjenester, og det er endnu nemmere at administrere med docker-compose.

Nogle projekter kommer ikke med docker-compose-filer, og det er tidskrævende at oprette en selv. docker-autocompose kan generere en fungerende docker-compose-fil fra enhver kørende Docker-container.

Nogle Docker-apps har ikke Compose-filer

Docker er en open source-platform til implementering af applikationer i bundtede komponenter kendt som containere. Ved at bruge Docker behøver du ikke bekymre dig om afhængigheder eller interaktioner mellem tjenester, da disse normalt er forudkonfigureret til en vis grad.

Du kan bruge Docker til at implementere apps, herunder specialiserede servere, Linux-distros eller brugerdefinerede billeder. At køre apps med Docker er relativt nemt og kan sikre, at du altid har den nyeste softwareversion.

instagram viewer

Hvis du ikke er bekendt med konceptet med dockeriserede apps, bør du læse vores vigtige guide til hvorfor du skal bruge Docker i stedet for en virtuel maskine.

Docker-kommandoer er lange og udføres normalt som en enkelt kommando, der lægger alle de relevante variabler ud. De er besværlige at indtaste, og selvom du kan tilføje et alias til din .bashrc-fil, kommer det ofte til at slå gentagne gange Ctrl + R for at finde den nøjagtige Docker-kommando, du ønsker.

Docker Compose er et værktøj til at hjælpe dig med interaktion og orkestrering på tværs af containere. Det er så effektivt til at hjælpe dig med at administrere Docker-containere, at mange brugere slet ikke lærer at bruge Docker. Hvorfor ville du, når alt hvad du skal gøre er at downloade en enkelt YAML-fil og bringe den frem med en simpel kommando på to ord?

Mens mange apps, der kan implementeres af Docker, har Compose-filer, er det ikke alle, der gør det, hvilket gør det vanskeligt for hurtige, rene Docker-installationer og -implementeringer. Dette er især almindeligt med apps til mindre almindelig hardware, såsom ARM64 og ARMhf.

Hvis du foretrækker at bruge docker-compose frem for rå Docker, kan du vælge ikke at bruge et bestemt stykke software, hvis der ikke er en praktisk docker-compose.yml i projektets GitHub-lager.

docker-autocompose gør det nemt automatisk at generere en Compose-fil

docker-autocompose er en Python-app, der kan oprette en fungerende Compose-fil fra enhver kørende Docker-container.

Dette betyder, at du kun behøver at køre docker-kommandoen først, derefter tage det genererede output og starte appen ved hjælp af docker-compose i fremtiden, eller du kan tilføje den til en eksisterende Compose-fil for at administrere alle dine tjenester på enkelt gang.

Sådan installeres docker-autocompose på Linux

Da docker-autocompose kommer som en Python-app, skal du have Python PIP installeret på dit Linux-system.

Sådan installeres Python PIP på Debian eller Ubuntu:

sudo apt installere python3-pip

Installer PIP på Arch Linux og dets derivater ved hjælp af:

sudo pacman -S python-pip

For at installere PIP på CentOS og Red Hat Enterprise Linux skal du køre:

sudo yum installere python3 python3-hjul

Det burde være en selvfølge, at du også skal har Docker og Docker Compose installeret.

Klon GitHub-lageret til docker-autocompose og flyt ind i den nye mappe:

git klon https://github.com/Red5d/docker-autocompose.git
cd docker-autocompose

Installer nu docker-autocompose ved at køre:

sudopython3Opsætning.pyinstallere

docker-autocompose er nu installeret.

Brug docker-autocompose til at generere Compose-filer

Ofte, mens du søger efter væsentlige Linux-apps, du vil falde over et fantastisk projekt, der kommer med Docker-billeder, men uden en Compose-fil. Et eksempel på dette er den fremragende browser-tilgængelige IRC-klient, Forsendelse.

Opret en mappe, som Dispatch kan bruge:

mkdir ~/afsendelse

Download og start klienten på port 8080 på din lokale maskine med:

docker run -s 8080:80 -v /home/david/dispatch:/data --genstart no -d khlieng/afsendelse

Besøg localhost: 8080 i din browser for at kontrollere, om Dispatch fungerer, og bed docker-autocompose om at generere Compose-filindhold fra den kørende container med:

sudo autocompose.py <container-navn-eller-id>

I dette tilfælde er containernavnet afsendelse, og container-id'et vil være vist som output i din terminal umiddelbart efter at have kørt docker-kommandoen.

Alternativt kan du oprette Compose-filindhold, som du kan bruge til at starte alle dine kørende Docker-containere op med:

sudo autocompose.py $(docker ps -aq)

Ingen Docker Compose-fil vil blive genereret, så du skal kopiere stdout'en til dit udklipsholder og derefter oprette en ny fil med:

nanodocker-komponer.yml

Indsæt indholdet af dit udklipsholder, gem og afslut nano med Ctrl + O, derefter Ctrl + X.

Du kan nu starte alle dine containere på én gang med:

docker-komponere op -d

Alternativt kan du køre docker-autocompose ved at bruge Docker selv ved at køre:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <yderligere-navne-eller-id'er>

...som er en kommando, der minder dig om, hvorfor du har brug for docker-autocompose til at starte med.

Opret øjeblikkeligt fungerende Compose-filer fra kørende Docker-containere

Docker og Docker Compose er en stadig vigtigere del af Linux-appens økosystem og beviser særligt værdifuldt for selv-hosting-websteder og -tjenester på det allestedsnærværende Raspberry Pi-enkeltkort computer.

Hvis du ikke allerede har startet din rejse mod at skabe dit eget online-økosystem, bør du tage et kig på nogle af de fantastiske web-vendte projekter, du kan køre på Pi.