Docker installeren op Raspberry Pi 4

How Install Docker Raspberry Pi 4



In vergelijking met Raspberry Pi 3 heeft Raspberry Pi 4 veel RAM (er zijn modellen van 2 GB, 4 GB en 8 GB). Daarom kan Raspberry Pi 4 dienen als een goedkope Docker-oplossing voor app-ontwikkeling en andere taken. In dit artikel laten we je zien hoe je Docker op Raspberry Pi 4 installeert. We gebruiken de 8GB-versie van de Raspberry Pi 4, maar je kunt ook de 2GB-versie of de 4GB-versie gebruiken.

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:







  1. Een Raspberry Pi 4 single-board computer
  2. Een Raspberry Pi 4 Type-C voeding.
  3. Een microSD-kaart (minimaal 32 GB) met de afbeelding van het Raspberry Pi OS erop.
  4. Internetconnectiviteit op de Raspberry Pi 4.
  5. 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:

$sudoopnieuw opstarten

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:

$sudo bashget-docker.sh


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:

$sudogebruikersmod-aGhavenarbeider $(wie ben ik)


Om de wijzigingen door te voeren, start u uw Raspberry Pi 4 opnieuw op met de volgende opdracht:

$sudoopnieuw opstarten


Zodra uw Raspberry Pi 4 opstart, voert u de volgende opdracht uit om te controleren of docker is geïnstalleerd:

$docker-versie


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:

$sudopip3installerendocker-compose


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:

$docker-compose-versie


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:

$havenarbeider-NS -P 8080:80httpd

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:

$havencontainerls

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:

$havenarbeider-NS -P 8081:80 --naamwebserver2 httpd


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 .

$havencontainerls


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:

$docker container stop webserver2


De Docker-container webserver2 moet worden gestopt.

$havencontainerls


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:

$docker container stop c5d09470a9eb


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:

$CD~/web Server


Een nieuw bestand maken docker-compose.yaml als volgt:

$nanodocker-compose.yaml


Voer de volgende tekst in het bestand docker-compose.yaml in.

versie:'3.8'
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:

$mkdir -vwww


Een nieuw bestand maken index.html in de www/ map als volgt:

$nanowww/index.html


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:

$docker-compose up-NS


Het Docker Compose-project moet operationeel zijn.


Zoals u kunt zien, is er een webservercontainer actief.

$docker-composeps


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:

$docker-compose down


Het Docker Compose-project had moeten stoppen.


Zoals u kunt zien, draaien er geen containers.

$docker-composeps


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.