Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Docker är ett viktigt verktyg för enkel installation av apparna som kan köra dina webbplatser och tjänster, och det är ännu enklare att hantera med docker-compose.

Vissa projekt kommer inte med docker-compose-filer, och det är tidskrävande att skapa en själv. docker-autocompose kan generera en fungerande docker-compose-fil från vilken Docker-behållare som helst.

Vissa Docker-appar har inte Compose-filer

Docker är en öppen källkodsplattform för att distribuera applikationer i buntade komponenter som kallas behållare. Genom att använda Docker behöver du inte oroa dig för beroenden eller interaktioner mellan tjänster eftersom dessa vanligtvis är förkonfigurerade till viss del.

Du kan använda Docker för att distribuera appar inklusive specialiserade servrar, Linux-distros eller anpassade bilder. Att köra appar med Docker är relativt enkelt och kan säkerställa att du alltid har den senaste mjukvaruversionen.

instagram viewer

Om du inte är bekant med konceptet med dockariserade appar bör du läsa vår viktiga guide till varför du ska använda Docker istället för en virtuell maskin.

Docker-kommandon är långa och exekveras vanligtvis som ett enda kommando som lägger ut alla relevanta variabler. De är besvärliga att mata in, och även om du kan lägga till ett alias till din .bashrc-fil, handlar det ofta om att upprepade gånger Ctrl + R för att hitta exakt det Docker-kommando du vill ha.

Docker Compose är ett verktyg som hjälper dig med interaktion och orkestrering över behållare. Det är så effektivt att hjälpa dig att hantera Docker-behållare, att många användare inte alls lär sig hur man använder Docker. Varför skulle du, när allt du behöver göra är att ladda ner en enda YAML-fil och ta upp den med ett enkelt tvåordskommando?

Även om många appar som kan distribueras av Docker har Compose-filer, har inte alla det, vilket gör det svårt för snabba, rena Docker-installationer och distributioner. Detta är särskilt vanligt med appar för mindre vanlig hårdvara, som ARM64 och ARMhf.

Om du föredrar att använda docker-compose framför rå Docker, kanske du väljer att inte använda en viss mjukvara om det inte finns en praktisk docker-compose.yml i projektets GitHub-förråd.

docker-autocompose gör det enkelt att automatiskt generera en skrivfil

docker-autocompose är en Python-app som kan skapa en fungerande Compose-fil från vilken Docker-behållare som helst.

Detta betyder att du bara behöver köra docker-kommandot först, sedan ta den genererade utdatan och starta appen med docker-compose i framtiden, eller så kan du lägga till den i en befintlig Compose-fil för att hantera alla dina tjänster på en gång.

Hur man installerar docker-autocompose på Linux

Eftersom docker-autocompose kommer som en Python-app måste du ha Python PIP installerat på ditt Linux-system.

Så här installerar du Python PIP på Debian eller Ubuntu:

sudo apt Installera python3-pip

Installera PIP på Arch Linux och dess derivator med:

sudo pacman -S python-pip

För att installera PIP på CentOS och Red Hat Enterprise Linux, kör:

sudo yum Installera python3 python3-hjul

Det borde vara självklart att du också behöver ha Docker och Docker Compose installerade.

Klona GitHub-förvaret för docker-autocompose och flytta in i den nya katalogen:

git klona https://github.com/Red5d/docker-autocompose.git
CD docker-autocompose

Installera nu docker-autocompose genom att köra:

sudopython3uppstart.pyInstallera

docker-autocompose är nu installerat.

Använd docker-autocompose för att skapa skrivfiler

Ofta, medan du letar efter viktiga Linux-appar, du kommer att snubbla över ett fantastiskt projekt som kommer med Docker-bilder men utan en Compose-fil. Ett exempel på detta är den utmärkta webbläsartillgängliga IRC-klienten, Avsändande.

Skapa en katalog för Dispatch att använda:

mkdir ~/dispatch

Ladda ner och starta klienten på port 8080 på din lokala dator med:

docker run -s 8080:80 -v /home/david/dispatch:/data --restart no -d khlieng/avsändande

Besök localhost: 8080 i din webbläsare för att kontrollera om Dispatch fungerar, säg sedan till docker-autocompose att skapa Compose-filinnehåll från den körande behållaren med:

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

I det här fallet är containernamnet dispatch, och container-ID kommer att ha dykt upp som utdata i din terminal omedelbart efter att ha kört docker-kommandot.

Alternativt kan du skapa Compose-filinnehåll som du kan använda för att starta alla dina körande Docker-behållare med:

sudo autocompose.py $(docker ps -aq)

Ingen Docker Compose-fil kommer att genereras, så du måste kopiera stdout till ditt urklipp och sedan skapa en ny fil med:

nanodocker-komponera.yml

Klistra in innehållet på ditt urklipp, spara och avsluta nano med Ctrl + O, då Ctrl + X.

Du kan nu starta alla dina behållare samtidigt med:

docker-compose up -d

Alternativt kan du köra docker-autocompose med Docker själv genom att köra:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <ytterligare-namn-eller-id>

...vilket är ett kommando som påminner dig om varför du behöver docker-autocompose till att börja med.

Skapa direkt fungerande skrivfiler från körande Docker-containrar

Docker och Docker Compose är en allt viktigare del av Linux-appens ekosystem och har bevisats särskilt värdefullt för webbplatser och tjänster som är självvärdiga på det allestädes närvarande Raspberry Pi-enkortet dator.

Om du inte redan har påbörjat din resa mot att skapa ditt eget online-ekosystem, bör du ta en titt på några av de fantastiska webbprojekt som du kan köra på Pi.