Docker is een van de meest populaire containerplatforms waarmee u gecontaineriseerde applicaties kunt beheren. Docker biedt architectuur en mogelijkheden voor containerautomatisering, beveiliging, maatwerk en bedrijfsondersteuning.
Docker heeft drie belangrijke componenten: de Docker-client (een opdrachtregelprogramma), Docker Host en Docker Registry. Deze drie componenten werken samen om u in staat te stellen applicaties te bouwen, uit te voeren en op te slaan.
Ontdek hoe u deze geweldige tool kunt gebruiken door een Django-voorbeeldapp in een container te plaatsen. Leer eerst Docker installeren op Ubuntu, macOS en Windows.
Installeer Docker op Ubuntu
Begin met het installeren van Docker op het besturingssysteem van uw voorkeur. Jij kan volg deze opmerkingen om Docker op Ubuntu te installeren of gebruik de volgende instructies voor macOS of Windows.
Installeer Docker op macOS
Om Docker op macOS te installeren, moet je ervoor zorgen dat je macOS 11 of hoger hebt. Volg dan deze stappen:
- Docker downloaden van de Docker hub-website.
- Dubbelklik op Docker.dmg om het installatieprogramma te openen.
- Sleept de Dokwerker pictogram naar de map Toepassingen.
- Om Docker te starten, Dubbelklik op de Docker.app.
- Het Docker-whale-logo op de statusbalk geeft aan dat Docker actief is.
U kunt Docker ook op macOS installeren via de opdrachtregel door de volgende instructies te volgen Docker Mac-installatie instructies.
Installeer Docker op Windows
Volg de volgende stappen om Docker Desktop op Windows OS te installeren:
- Docker downloaden van de Docker hub-website.
- Dubbelklik op Docker Desktop-installatieprogramma.exe om het installatieprogramma uit te voeren.
- Schakel de Hyper-V Windows-functie in op de configuratiepagina tijdens de installatie.
- Volg het proces en sta alle machtigingen toe totdat de installatie is voltooid.
- Klik na de installatie op Dichtbij om het proces te voltooien.
- Om de Docker te starten, zoekt en selecteert u Docker Desktop in uw bureaubladzoekresultaten.
U kunt Docker ook op Windows OS installeren met behulp van een opdrachtregel door de volgende instructies te volgen Docker Windows-installatie instructies.
Django-app maken
Maak een eenvoudige Django-app. U kunt de app zien wanneer u naar navigeert http://127.0.0.1:8000. U gaat deze app in een container plaatsen.
Maak een Dockerfile
Om de app te containeriseren, moet u een Docker-image maken om containers te bouwen en uit te voeren. Een Docker-image is een sjabloon met instructies voor het uitvoeren van containers.
Je gebruikt een Dockerfile om een afbeelding voor de app te maken. Maak een bestand aan in de hoofdmap met de naam Dockerfile. Voeg vervolgens de volgende instructies toe aan het bestand:
VANPython:3
WERKDIR /app
TOEVOEGEN. /app/
BLOOT 8000
KOPIEER vereisten.txt /app
RUN pip3 installeren -r vereisten.txt --geen-cache-dir
KOPIËREN. /app
INGANGSPUNT["python3"]
CMD["beheren.py", "runserver", "0.0.0.0:8000"]
Dockerfiles gebruiken unieke Docker-sleutelwoorden om instructies op te geven.
De VAN trefwoord identificeert de basisafbeelding waarmee u de afbeelding wilt bouwen. De Python-image van Docker heeft de benodigde componenten om de Django-app uit te voeren. Docker gebruikt dezelfde afbeelding in volgende builds.
De WERKDIR keyword creëert een map in de container. De voorbeeldopdracht identificeert de /app directory als hoofdmap.
De TOEVOEGEN commando voegt alles in de huidige map toe aan het /app map.
De BLOOTSTELLEN trefwoord stelt een poort in de Docker-afbeelding bloot aan de buitenwereld. U kunt de gecontaineriseerde app op deze poort bekijken met behulp van een browser.
De KOPIËREN trefwoord kopieert inhoud van de ene map en plaatst deze in een andere. In uw geval kopieert het alle inhoud van de app uit de huidige map. De inhoud gaat in de app map in de container.
De LOOP keyword voert alle opdrachten uit in een nieuwe laag van de huidige afbeelding en legt de resultaten vast. De volgende stap in de Dockerfile zal de resulterende gecommitteerde afbeelding gebruiken.
De INGANGSPUNT trefwoord definieert een container als een uitvoerbaar bestand. In dit geval is het Python3. Je kunt het gebruiken met of in plaats van de CMD trefwoord. A Dockerfile moet een of beide specificeren CMD of INGANGSPUNT trefwoorden. Docker definieert hoe de twee instructies samenwerken.
De CMD keyword voert een Linux-opdracht uit wanneer de afbeelding start. De instructie definieert welke opdracht wordt uitgevoerd wanneer u een container uitvoert.
Bouw de Docker-afbeelding
Nu dat de Dockerfile is voltooid, ga je gang en bouw je de Docker-image. Voer de volgende opdracht uit om de afbeelding te bouwen:
havenarbeiderbouwen--labeldocker-django-app:laatste .
Wanneer het begint met bouwen, bouwt Docker de afbeelding in lagen op. De lagen zijn volgens het aantal instructies in de Dockerfile. In dit geval heb je negen lagen. Negen stappen vertegenwoordigen deze lagen.
Een succesvolle build ziet er als volgt uit:
Als u nu uw docker-afbeeldingen controleert, zou u de nieuwe afbeelding moeten zien.
Voer de Docker-container uit
Vervolgens moet u de afbeelding in de container uitvoeren. Dit is waar de app zal leven. Voer de volgende opdracht uit om de afbeelding uit te voeren:
havenarbeiderloop--naamdocker-djangoapp-P 8000:80-Ddocker-django-app:laatste
Het zou als volgt een serienummer voor de container moeten retourneren:
De opdracht Docker run staat toe opties tags voor afbeeldingen. In dit geval wilt u de --naam tag om de container een naam te geven docker-djangoapp. Laat de container dan op bakboord draaien 8000:80 met -P. Geef vervolgens de afbeelding op waarvan u de container wilt maken. Dit is de docker-django-app: laatste afbeelding die u eerder hebt gemaakt.
De opdracht docker run maakt een containerlaag over de afbeelding. Het start het vervolgens met behulp van de opgegeven opdracht. De syntaxis voor het uitvoeren van containers is als volgt:
havenarbeiderloop[OPTIES]AFBEELDING[COMMANDO][ARG...]
Controleer de Docker-containers om te zien of de container actief is. Wanneer je rent havenarbeider ps Het zou als volgt moeten verschijnen:
Gefeliciteerd! Je hebt je eerste app gecontaineriseerd. Vervolgens kunt u de container naar het Docker-register pushen voor opslag. U heeft toegang tot uw applicatie wanneer u maar wilt vanaf elke machine.
Je kunt het ook online met anderen delen. Het register biedt beveiliging voor afbeeldingen en biedt extra rechten op privéaccounts.
Waarom een app Dockeriseren?
Steeds meer ontwikkelaars gebruiken Docker om het bouwen en beheren van containers in elke virtuele omgeving te optimaliseren.
Docker wordt geleverd met productieve functies, waaronder een client die build-commando's geeft aan Docker-daemons. De daemon bouwt afbeeldingen en voert containers uit. U kunt de afbeeldingen bouwen en opslaan in het Docker-register. Dit zorgt ervoor dat de afbeeldingen veilig en online beschikbaar zijn.
Docker biedt reeds geconfigureerde officiële afbeeldingen met kant-en-klare componenten. U kunt deze afbeeldingen gebruiken om snel containers voor uw toepassingen te bouwen.