Docker is een containersysteem voor Linux dat wordt gebruikt om lichtgewicht Linux-containers uit te voeren op een Linux-besturingssysteem (Docker-host). Om Docker op je Raspberry Pi 4 te installeren, heb je het volgende nodig:
- Een Raspberry Pi 4 single-board computer
- Een Raspberry Pi 4 Type-C voeding.
- Een microSD-kaart (minimaal 32 GB) met de afbeelding van het Raspberry Pi OS erop.
- Internetconnectiviteit op de Raspberry Pi 4.
- Een laptop of desktop voor VNC remote desktop toegang of SSH toegang tot de Raspberry Pi 4.
Opmerking: Als u geen toegang wilt tot uw Raspberry Pi 4 op afstand via SSH of VNC, moet u een monitor, een toetsenbord en een muis aansluiten op uw Raspberry Pi. We zullen hier geen randapparatuur op onze Raspberry Pi aansluiten, omdat we op afstand verbinding maken met onze Raspberry Pi 4 via het VNC remote desktop-protocol met de headless Raspberry Pi 4-opstelling.
Aanvullende bronnen: Om te leren hoe u Raspberry Pi OS op uw Raspberry Pi 4 installeert, gaat u hier: Hoe Raspberry Pi OS op Raspberry Pi te installeren 4 . Om te leren hoe u de Raspberry Pi OS-afbeelding op de microSD-kaart kunt flashen. ga hier: Raspberry Pi Imager installeren en gebruiken. Voor meer informatie over de headless setup van Raspberry Pi 4, ga hier: Raspberry Pi OS installeren en configureren op Raspberry Pi 4 zonder externe monitor.
Raspberry Pi OS bijwerken
Voordat u Docker installeert, moet u alle pakketten op uw Raspberry Pi OS bijwerken. Om dit te doen, moet u eerst de cache van de APT-pakketrepository bijwerken met de volgende opdracht:
$sudogeschikte update
Deze opdracht zou de cache van de APT-pakketrepository moeten bijwerken.
Voer de volgende opdracht uit om alle pakketten op uw Raspberry Pi OS bij te werken:
$sudogeschikte upgrade
Om de upgrade te bevestigen, drukt u op EN en dan .
De pakketbeheerder van APT moet alle vereiste pakketten van internet downloaden. Het kan even duren voordat deze stap is voltooid.
Zodra alle vereiste pakketten zijn gedownload, moet de pakketbeheerder van APT ze één voor één installeren. Het kan ook even duren voordat deze stap is voltooid.
Op dit punt moeten alle bestaande pakketten worden bijgewerkt.
Om de wijzigingen door te voeren, start u uw Raspberry Pi 4 opnieuw op met de volgende opdracht:
Docker installeren op Raspberry Pi OS
Docker installeren op een Raspberry Pi 4 met Raspberry Pi OS is heel eenvoudig, aangezien Docker nu officieel Raspberry Pi OS ondersteunt.
Om Docker op uw Raspberry Pi OS te installeren, moet u het Docker-installatiescript downloaden op uw Raspberry Pi 4. U kunt het Docker-installatiescript op uw Raspberry Pi 4 downloaden met de volgende opdracht:
$Krul-fsSLhttps://get.docker.com-ofget-docker.sh
Het Docker-installatiescript get-docker.sh moet worden gedownload naar uw huidige werkmap.
Voer het Docker-installatiescript uit get-docker.sh als root met het volgende commando:
Het Docker-installatiescript downloadt en installeert alle benodigde pakketten van internet. Het kan even duren voordat deze stap is voltooid.
Op dit punt zou Docker moeten zijn geïnstalleerd.
Nadat Docker is geïnstalleerd, voegt u uw aanmeldingsgebruiker toe aan de havenarbeider groep met het volgende commando:
Om de wijzigingen door te voeren, start u uw Raspberry Pi 4 opnieuw op met de volgende opdracht:
Zodra uw Raspberry Pi 4 opstart, voert u de volgende opdracht uit om te controleren of docker is geïnstalleerd:
Zoals je kunt zien, gebruik ik Docker-versie 19.03.13, de nieuwste versie van Docker die op het moment van schrijven beschikbaar is voor Raspberry Pi OS. Tegen de tijd dat u dit artikel leest, kan het versienummer veranderen.
Docker Compose installeren op Raspberry Pi OS
Docker Compose is een tool voor het automatiseren van Docker-projecten met behulp van een YAML-bestand.
Stel dat u PHP-webontwikkeling wilt doen met Docker. Daarvoor heb je meerdere containers nodig, zoals een webserver (bijv. php ) container en een databaseserver (d.w.z. mysql of mongo ) container. Als u RAW Docker gebruikt, moet u deze containers afzonderlijk starten, stoppen en configureren, wat lastig en tijdrovend is. Als u daarentegen Docker Compose gebruikt, kunt u alle containers beheren en configureren met een eenvoudig YAML-bestand en Docker Compose-opdrachten.
U kunt Docker Compose installeren met behulp van het pip-pakketinstallatieprogramma van Python. Python pip moet vooraf op je Raspberry Pi zijn geïnstalleerd, maar als pip niet is geïnstalleerd, kun je het installeren vanuit de officiële pakketrepository van Raspberry Pi OS met de volgende opdracht:
$sudogeschiktinstallerenpython3-pip-en
In ons geval was Python pip al geïnstalleerd.
Nadat Python pip is geïnstalleerd, kunt u Docker Compose installeren met de volgende opdracht:
In de onderstaande afbeelding wordt Docker Compose geïnstalleerd.
In de volgende afbeelding moet Docker Compose zijn geïnstalleerd.
Nadat Docker Compose is geïnstalleerd, controleert u of u er toegang toe hebt met de volgende opdracht:
Zoals je kunt zien, gebruiken we Docker Compose versie 1.27.4. Tegen de tijd dat u dit artikel leest, heeft u mogelijk een nieuwere versie van Docker Compose op uw Raspberry Pi OS geïnstalleerd.
Docker gebruiken op Raspberry Pi 4
In dit gedeelte laten we u zien hoe u Docker op uw Raspberry Pi 4 kunt gebruiken. Als u Docker nog nooit hebt gebruikt, zou dit gedeelte u op weg moeten helpen.
Om een Docker-container uit te voeren, hebt u een Docker-image nodig waarop de Docker-container wordt gebaseerd. Er zijn duizenden Docker-containers beschikbaar in het Docker-containerregister (Docker Hub). U kunt als volgt naar Docker-containers (bijv. Apache-webservercontainer) zoeken:
$docker zoeken apache
De Docker-containers die overeenkomen met de zoekopdracht worden geretourneerd.
De officiële Apache-webservercontainer heet httpd , zoals weergegeven in de onderstaande schermafbeelding. Laten we een Docker-container maken op basis van die afbeelding.
Om de Apache-webserver Docker-container te maken en te starten met behulp van de httpd Docker-image, voer de volgende opdracht uit:
Opmerking: Hier, -p 8080:80 wordt gebruikt om poort door te sturen 80 van de httpd Dockercontainer naar haven 8080 op de Docker-host (Raspberry Pi 4).
De httpd Docker-image moet van internet worden gedownload (Docker Hub). Het kan even duren voordat deze stap is voltooid.
Op dit punt, de Docker httpd container-image moet zijn gedownload en er moet een nieuwe Docker-container zijn gemaakt.
Als u een webbrowser in uw Raspberry Pi 4 opent en naar http://localhost:8080 gaat, zou u de volgende webpagina moeten zien die u vertelt dat de Apache-webservercontainer correct werkt.
U kunt alle actieve Docker-containers weergeven met de volgende opdracht:
Op dit moment hebben we slechts één draaiende Docker-container, d.w.z. de Apache-webservercontainer. De container heeft de naam: awesome_grothendieck (willekeurig gegenereerd), en de ID c5d09470a9eb .
De Docker-containers die u maakt, krijgen een willekeurig gegenereerde naam, maar u kunt een Docker-container een naam geven met de -naam opdrachtregelargument. Om bijvoorbeeld nog een te maken httpd Docker-container met de naam webserver2 , kunt u de volgende opdracht uitvoeren:
Door het bovenstaande commando in te voeren, wordt een Docker-container met de naam webserver2 moet worden gecreëerd.
Zoals u kunt zien, heeft de nieuw gemaakte Docker-container de naam webserver2 .
De webserver die op de tweede container draait webserver2 moet ook toegankelijk zijn via de URL http://localhost:8081.
U kunt een actieve Docker-container stoppen met behulp van de naam of de ID van de actieve container. Om bijvoorbeeld de actieve Docker-container te stoppen webserver2 , voer de volgende opdracht uit:
De Docker-container webserver2 moet worden gestopt.
Zoals u kunt zien, was de webserver die op de webserver2 container is ook gestopt.
U kunt de container stoppen c5d09470a9eb met het volgende commando:
Zoals weergegeven in de onderstaande afbeelding, is de Docker-container c5d09470a9eb loopt niet meer.
De afbeelding hieronder laat zien dat de webserver die draaide op de c5d09470a9eb container is ook gestopt.
Docker Compose gebruiken op Raspberry Pi 4
In dit gedeelte laten we u zien hoe u Docker Compose kunt gebruiken om Docker-projecten te beheren.
Maak eerst een nieuwe projectdirectory ~/webserver als volgt:
$mkdir -v~/web Server
Navigeer naar de ~/webserver map als volgt:
Een nieuw bestand maken docker-compose.yaml als volgt:
Voer de volgende tekst in het bestand docker-compose.yaml in.
Diensten:
Web:
afbeelding: httpd:laatste
herstart: altijd
volumes:
-./www:/usr/lokaal/apache2/htdocs
poorten:
-'8083: 80'
Opmerking: Zorg ervoor dat u de juiste inspringing gebruikt. Inspringen is erg belangrijk voor YAML-bestanden. Onjuiste inspringing leidt tot syntaxisfouten.
Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden docker-compose.yaml het dossier.
Hier, in de Diensten sectie, we hebben een definitie voor de Web Docker-container.
In lijn 4, de Docker afbeelding dat de Web container zal gebruiken, moet worden gedefinieerd. Hier de afbeelding gebruiken is httpd:nieuwste
Op regel 5, herstart: altijd wordt gebruikt om de webcontainer opnieuw te starten als deze onverwacht stopt.
Regels 6-7 worden gebruikt om de . te monteren www/ directory van uw projectdirectory naar /usr/local/apache2/htdocs , d.w.z. de webroot van de container.
Regels 8-9 worden gebruikt om poort door te sturen 80 van de container naar de haven 8083 van de Docker-host (Raspberry Pi 4).
Een nieuwe map maken www/ in de projectdirectory als volgt:
Een nieuw bestand maken index.html in de www/ map als volgt:
Typ de volgende opdracht en druk op + X gevolgd door EN en om het bestand op te slaan.
U kunt het Docker Compose-project starten met de volgende opdracht:
Het Docker Compose-project moet operationeel zijn.
Zoals u kunt zien, is er een webservercontainer actief.
Als u de URL http://localhost:8083 vanuit een webbrowser bezoekt, zou u de volgende pagina moeten zien, wat betekent dat het Docker Compose-project werkt.
Om het Docker Compose-project te stoppen (d.w.z. alle containers van het project te stoppen), voert u de volgende opdracht uit:
Het Docker Compose-project had moeten stoppen.
Zoals u kunt zien, draaien er geen containers.
Bovendien is de webserver niet toegankelijk.
Conclusie
In dit artikel hebben we Docker en Docker Compose op Raspberry Pi 4 geïnstalleerd. Verder gebruiken we Docker en Docker Compose om Docker-containers te maken. Dit artikel zou je moeten helpen om aan de slag te gaan met Docker en Docker Compose op Raspberry Pi 4.