Docker är ett containeriseringssystem för Linux som används för att köra lätta Linux-containrar ovanpå ett Linux-operativsystem (Docker-värd). För att installera Docker på din Raspberry Pi 4 behöver du följande:
- En Raspberry Pi 4-kortdator
- En Raspberry Pi 4 typ-C strömförsörjning.
- Ett microSD-kort (minst 32 GB) med Raspberry Pi OS-bilden.
- Internetanslutning på Raspberry Pi 4.
- En bärbar eller stationär dator för VNC-fjärrskrivbordsåtkomst eller SSH-åtkomst till Raspberry Pi 4.
Notera: Om du inte vill komma åt din Raspberry Pi 4 på distans via SSH eller VNC måste du ansluta en bildskärm, ett tangentbord och en mus till din Raspberry Pi. Vi ansluter inga kringutrustning till vår Raspberry Pi här, eftersom vi fjärranslutar till vår Raspberry Pi 4 via VNC fjärrskrivbordsprotokoll med den headless Raspberry Pi 4-installationen.
Ytterligare resurser: För att lära dig hur du installerar Raspberry Pi OS på din Raspberry Pi 4, gå hit: Så här installerar du Raspberry Pi OS på Raspberry Pi 4. För att lära dig hur du blinkar Raspberry Pi OS-bilden på microSD-kortet. gå hit: Hur man installerar och använder Raspberry Pi Imager. Om du vill lära dig mer om den huvudlösa installationen av Raspberry Pi 4, gå här: Så här installerar och konfigurerar du Raspberry Pi OS på Raspberry Pi 4 utan extern bildskärm.
Uppdaterar Raspberry Pi OS
Innan du installerar Docker bör du uppdatera alla paket i ditt Raspberry Pi OS. För att göra det, uppdatera först APT-paketets förvarscache med följande kommando:
$ sudo apt uppdatering
Det här kommandot ska uppdatera APT-paketets lagringscache.
För att uppdatera alla paket på ditt Raspberry Pi OS, kör du följande kommando:
För att bekräfta uppgraderingen, tryck på Y och då
APT-pakethanteraren ska ladda ner alla nödvändiga paket från internet. Det här kan ta ett tag att slutföra det här steget.
När alla nödvändiga paket har laddats ner ska APT-pakethanteraren installera dem en efter en. Det här kan också ta ett tag att slutföra.
Vid den här tiden bör alla befintliga paket uppdateras.
För att ändringarna ska träda i kraft startar du om din Raspberry Pi 4 med följande kommando:
Installerar Docker på Raspberry Pi OS
Installera Docker på en Raspberry Pi 4 som kör Raspberry Pi OS är väldigt enkelt, eftersom Docker nu officiellt stöder Raspberry Pi OS.
För att installera Docker på ditt Raspberry Pi OS måste du ladda ner Docker-installationsskriptet på din Raspberry Pi 4. Du kan ladda ner Docker-installationsskriptet på din Raspberry Pi 4 med följande kommando:
$ curl -fsSL https: // get.hamnarbetare.com -o get-docker.sh
Docker-installationsskriptet get-docker.sh bör laddas ner till din nuvarande arbetskatalog.
Kör Docker-installationsskriptet få-dockare.sh som root med följande kommando:
Docker-installationsskriptet laddar ner och installerar alla nödvändiga paket från internet. Det här kan ta ett tag att slutföra det här steget.
Vid denna tidpunkt bör Docker installeras.
När Docker är installerat, lägg till din inloggningsanvändare till hamnarbetare grupp med följande kommando:
För att ändringarna ska träda i kraft startar du om din Raspberry Pi 4 med följande kommando:
När din Raspberry Pi 4 startar, kör du följande kommando för att verifiera om dockaren är installerad:
Som du kan se kör jag Docker version 19.03.13, som är den senaste versionen av Docker som finns tillgänglig för Raspberry Pi OS i skrivande stund. När du läser den här artikeln kan versionsnumret ändras.
Installera Docker Compose på Raspberry Pi OS
Docker Compose är ett verktyg för att automatisera Docker-projekt med en YAML-fil.
Låt oss säga att du vill göra PHP-webbutveckling med Docker. För det behöver du flera containrar, till exempel en webbserver (i.e. php) container och en databasserver (i.e. mysql eller mongo) behållare. Om du använder RAW Docker måste du starta, stoppa och konfigurera dessa behållare separat, vilket kommer att vara besvärligt och tidskrävande. Om du däremot använder Docker Compose kan du hantera och konfigurera alla behållare med en enkel YAML-fil och Docker Compose-kommandon.
Du kan installera Docker Compose med Pythons pip-paketinstallatör. Python pip bör förinstalleras på din Raspberry Pi, men om pip inte är installerad kan du installera den från det officiella paketförvaret för Raspberry Pi OS med följande kommando:
$ sudo apt installera python3-pip -y
I vårt fall var Python pip redan installerad.
När Python pip har installerats kan du installera Docker Compose med följande kommando:
I bilden nedan installeras Docker Compose.
I följande bild ska Docker Compose installeras.
När Docker Compose är installerad, kontrollera om du kan komma åt den med följande kommando:
Som du ser använder vi Docker Compose version 1.27.4. När du läser den här artikeln kan du ha en senare version av Docker Compose installerad på ditt Raspberry Pi OS.
Använda Docker på Raspberry Pi 4
I det här avsnittet visar vi dig hur du använder Docker på din Raspberry Pi 4. Om du aldrig har använt Docker bör det här avsnittet hjälpa dig att komma igång.
För att köra en Docker-behållare behöver du en Docker-avbildning som Docker-behållaren kommer att baseras på. Det finns tusentals Docker-behållare tillgängliga i Docker-containerregistret (Docker Hub). Du kan söka efter Docker-containrar (t.ex.g., Apache-webbserverbehållaren) enligt följande:
$ docker sök apache
Docker-behållarna som matchar sökfrågan returneras.
Den officiella Apache-webbserverbehållaren kallas httpd, som visas på skärmdumpen nedan. Låt oss skapa en Docker-container baserat på den bilden.
Att skapa och starta Apache-webbserverns Docker-behållare med httpd Docker-bild, kör följande kommando:
Notera: Här, -s 8080: 80 används för att vidarebefordra port 80 av httpd Docker behållare till port 8080 på Docker-värden (Raspberry Pi 4).
De httpd Docker-avbildningen ska laddas ner från internet (Docker Hub). Det här kan ta ett tag att slutföra detta steg.
Vid denna punkt, Docker httpd behållaravbildningen borde ha laddats ner och en ny Docker-behållare borde ha skapats.
Om du öppnar en webbläsare i din Raspberry Pi 4 och besöker http: // localhost: 8080, bör du se följande webbsida som säger att Apache-webbserverbehållaren körs korrekt.
Du kan lista alla körande Docker-behållare med följande kommando:
För närvarande har vi bara en Docker-container som körs, dvs.e., Apache-webbserverbehållaren. Containern har namnet fantastisk_grothendieck (slumpmässigt genererade) och ID c5d09470a9eb.
Docker-behållarna du skapar får ett slumpmässigt genererat namn, men du kan namnge en Docker-behållare med -namn kommandoradsargument. Till exempel för att skapa en annan httpd Docker-behållare med namnet webbserver2, du kan köra följande kommando:
Genom att ange ovanstående kommando, en Docker-container med namnet webbserver2 bör skapas.
Som du kan se heter den nyligen skapade Docker-behållaren webbserver2.
Webbservern som körs på den andra behållaren webbserver2 bör också vara tillgänglig på URL http: // localhost: 8081.
Du kan stoppa en igång Docker-behållare med namnet eller ID för den körande behållaren. Till exempel för att stoppa den körande Docker-behållaren webbserver2, kör följande kommando:
Docker-behållaren webbserver2 bör stoppas.
Som du kan se, webbservern som kördes på webbserver2 behållaren har också stannat.
Du kan stoppa behållaren c5d09470a9eb med följande kommando:
Som visas i bilden nedan, Docker-behållaren c5d09470a9eb körs inte längre.
Bilden nedan visar att webbservern som kördes på c5d09470a9eb behållaren har också stoppats.
Använda Docker Compose på Raspberry Pi 4
I det här avsnittet visar vi dig hur du använder Docker Compose för att hantera Docker-projekt.
Skapa först en ny projektkatalog ~ / webserver som följer:
$ mkdir -v ~ / webserver
Navigera till ~ / webserver katalog enligt följande:
Skapa en ny fil docker-compose.yaml som följer:
Ange följande text i docker-compose.yaml-fil.
tjänster:
webb:
bild: httpd: senaste
starta om: alltid
volymer:
- ./ www: / usr / local / apache2 / htdocs
hamnar:
- "8083: 80"
Notera: Se till att du använder rätt fördjupning. Indragning är mycket viktigt för YAML-filer. Felaktig indragning leder till syntaxfel.
När du är klar trycker du på
Här, i tjänster avsnitt har vi definition för webb Docker-behållare.
I rad 4, Docker bild Att den webb behållaren ska användas ska definieras. Här, den bild att använda är httpd: senaste
I rad 5, starta om: alltid används för att starta om webbcontainern om den stannar oväntat.
Linjerna 6-7 används för att montera www / projektkatalog till / usr / local / apache2 / htdocs, i.e., behållarens webbroot.
Linjerna 8-9 används för att vidarebefordra porten 80 av containern till hamn 8083 från Docker-värden (Raspberry Pi 4).
Skapa en ny katalog www / i projektkatalogen enligt följande:
Skapa en ny fil index.html i www / katalog enligt följande:
Skriv in följande kommando och tryck på
Du kan starta Docker Compose-projektet med följande kommando:
Docker Compose-projektet bör vara igång.
Som du kan se körs en webbservercontainer.
Om du besöker webbadressen http: // localhost: 8083 från en webbläsare, bör du se följande sida, vilket innebär att Docker Compose-projektet fungerar.
För att stoppa Docker Compose-projektet (i.e., stoppa alla behållare i projektet), kör följande kommando:
Docker Compose-projektet borde ha stoppat.
Som du kan se körs inga containrar.
Dessutom går det inte att komma åt webbservern.
Slutsats
I den här artikeln installerade vi Docker och Docker Compose på Raspberry Pi 4. Dessutom använder vi Docker och Docker Compose för att skapa Docker-behållare. Den här artikeln ska hjälpa dig att komma igång med Docker och Docker Compose på Raspberry Pi 4.