Docker er et viktig verktøy for enkel installasjon av appene som kan kjøre nettstedene og tjenestene dine, og det er enda enklere å administrere med docker-compose.
Noen prosjekter kommer ikke med docker-compose-filer, og det er tidkrevende å lage en selv. docker-autocompose kan generere en fungerende docker-compose-fil fra en hvilken som helst løpende Docker-beholder.
Noen Docker-apper har ikke Compose-filer
Docker er en åpen kildekode-plattform for distribusjon av applikasjoner i medfølgende komponenter kjent som containere. Ved å bruke Docker trenger du ikke bekymre deg for avhengigheter eller interaksjoner mellom tjenester, da disse vanligvis er forhåndskonfigurert til en viss grad.
Du kan bruke Docker til å distribuere apper, inkludert spesialiserte servere, Linux-distros eller tilpassede bilder. Å kjøre apper med Docker er relativt enkelt og kan sikre at du alltid har den nyeste programvareversjonen.
Hvis du ikke er kjent med konseptet med dockeriserte apper, bør du lese vår grunnleggende guide til hvorfor du bør bruke Docker i stedet for en virtuell maskin.
Docker-kommandoer er lange og utføres vanligvis som en enkelt kommando som legger ut alle relevante variabler. De er vanskelige å legge inn, og selv om du kan legge til et alias til .bashrc-filen din, kommer det ofte ned til å trykke gjentatte ganger Ctrl + R for å finne den nøyaktige Docker-kommandoen du vil ha.
Docker Compose er et verktøy som hjelper deg med interaksjon og orkestrering på tvers av containere. Det er så effektivt å hjelpe deg med å administrere Docker-containere, at mange brukere ikke lærer hvordan de bruker Docker i det hele tatt. Hvorfor skulle du, når alt du trenger å gjøre er å laste ned en enkelt YAML-fil, og ta den opp med en enkel to-ords kommando?
Mens mange apper som kan distribueres av Docker har Compose-filer, er det ikke alle som gjør det, noe som gjør det vanskelig for raske, rene Docker-installasjoner og -distribusjoner. Dette er spesielt vanlig med apper for mindre vanlig maskinvare, som ARM64 og ARMhf.
Hvis du foretrekker å bruke docker-compose fremfor rå Docker, kan du velge å ikke bruke et bestemt stykke programvare hvis det ikke er en hendig docker-compose.yml i prosjektets GitHub-depot.
docker-autocompose gjør det enkelt å automatisk generere en Compose-fil
docker-autocompose er en Python-app som kan lage en fungerende Compose-fil fra enhver Docker-beholder som kjører.
Dette betyr at du bare trenger å kjøre docker-kommandoen først, deretter ta den genererte utgangen og starte appen ved å bruke docker-compose i fremtiden, eller du kan legge den til en eksisterende Compose-fil for å administrere alle tjenestene dine på en gang.
Hvordan installere docker-autocompose på Linux
Siden docker-autocompose kommer som en Python-app, må du ha Python PIP installert på Linux-systemet ditt.
For å installere Python PIP på Debian eller Ubuntu:
sudo apt installere python3-pip
Installer PIP på Arch Linux og dets derivater ved å bruke:
sudo pacman -S python-pip
For å installere PIP på CentOS og Red Hat Enterprise Linux, kjør:
sudo nam installere python3 python3-hjul
Det burde være en selvfølge at du også trenger det ha Docker og Docker Compose installert.
Klon GitHub-depotet for docker-autocompose og flytt inn i den nye katalogen:
git klone https://github.com/Red5d/docker-autocompose.git
cd docker-autokomponer
Installer nå docker-autocompose ved å kjøre:
sudopython3oppsett.pyinstallere
docker-autocompose er nå installert.
Bruk docker-autocompose for å generere Compose-filer
Ofte, mens du søker etter viktige Linux-apper, du vil snuble over et fantastisk prosjekt som kommer med Docker-bilder, men uten en Compose-fil. Et eksempel på dette er den utmerkede nettlesertilgjengelige IRC-klienten, Utsendelse.
Opprett en katalog for Dispatch å bruke:
mkdir ~/dispatch
Last ned og start klienten på port 8080 på din lokale maskin med:
docker run -s 8080:80 -v /home/david/dispatch:/data --restart no -d khlieng/utsendelse
Besøk localhost: 8080 i nettleseren din for å sjekke om Dispatch fungerer, og be docker-autocompose om å generere Compose-filinnhold fra den kjørende beholderen med:
sudo autocompose.py <container-navn-eller-id>
I dette tilfellet er containernavnet utsendelse, og container-ID-en vil ha dukket opp som utdata i terminalen din umiddelbart etter å ha kjørt docker-kommandoen.
Alternativt kan du lage Compose-filinnhold som du kan bruke til å starte opp alle dine kjørende Docker-beholdere med:
sudo autocompose.py $(docker ps -aq)
Ingen Docker Compose-fil vil bli generert, så du må kopiere standarden til utklippstavlen, og deretter opprette en ny fil med:
nanodocker-komponere.yml
Lim inn innholdet på utklippstavlen, lagre og avslutt nano med Ctrl + O, deretter Ctrl + X.
Du kan nå starte alle beholderne samtidig med:
docker-komponere opp -d
Alternativt kan du kjøre docker-autocompose ved å bruke Docker selv ved å kjøre:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <tilleggsnavn eller IDer>
...som er en kommando som minner deg på hvorfor du trenger docker-autocompose til å begynne med.
Lag umiddelbart fungerende Compose-filer fra kjørende Docker-beholdere
Docker og Docker Compose er en stadig viktigere del av Linux-appens økosystem og beviser seg spesielt verdifull for nettsteder og tjenester som driver selvtillit på det allestedsnærværende Raspberry Pi enkeltbrettet datamaskin.
Hvis du ikke allerede har startet reisen mot å lage ditt eget nettbaserte økosystem, bør du ta en titt på noen av de fantastiske nettvendte prosjektene du kan kjøre på Pi.