Docker - joudeh12345/IT-Landscape GitHub Wiki
Inleiding tot Docker
Docker is een platform voor het ontwikkelen, verzenden en uitvoeren van applicaties binnen containers. Containers zijn lichtgewicht en draagbare virtuele omgevingen die alles bevatten wat een applicatie nodig heeft om te kunnen draaien, inclusief de benodigde code, runtime, bibliotheken, enzovoort. Docker biedt een eenvoudige manier om applicaties in te pakken, waardoor ze consistent kunnen worden uitgevoerd op verschillende omgevingen, zoals ontwikkelingsmachines, testomgevingen en productieservers. Waarom gebruiken we docker? Docker wordt gebruikt omdat het helpt om applicaties overal hetzelfde te laten draaien, van de ontwikkelomgeving tot productie. Het is sneller en efficiënter dan virtuele machines en maakt het makkelijk om meerdere applicaties naast elkaar te draaien zonder problemen. Daarnaast kun je applicaties makkelijk schalen en beheren, wat het ideaal maakt voor moderne softwareontwikkeling.
Belangrijkste concepten van Docker:
Containers
Containers zijn geïsoleerde omgevingen waarin applicaties worden uitgevoerd met hun eigen resources, zoals CPU, geheugen en netwerkinterfaces. Ze zijn gebaseerd op containerimages en kunnen snel worden gestart, gestopt, verplaatst en gekopieerd.
Images
Een image is een lichtgewicht, stand-alone en uitvoerbare softwarepakket dat alles bevat wat nodig is om een bepaalde applicatie uit te voeren. Het bevat de code, runtime, bibliotheken, omgevingsvariabelen en configuratiebestanden die nodig zijn om een container te creëren.
Dockerfile
Is een tekstbestand waarin de instructies worden gespecificeerd om een Docker-image te bouwen. Het definieert de configuratie van de omgeving waarin de applicatie zal worden uitgevoerd.
Docker Hub
Docker Hub is een cloudgebaseerde repository waar Docker-images worden gehost en gedeeld. Het biedt een centrale locatie voor het vinden, delen en opslaan van Docker-images.
Installatie-instructies
Docker installeren op Windows
- Download de Docker Desktop installer voor Windows
- Dubbelklik op Docker Desktop Installer.exe om de installatie te starten
- Volg de instructies van de installatiewizard en autoriseer de installatie indien nodig.
- Sluit de wizard af en start Docker Desktop vanuit het startmenu of bureaublad
Docker installeren op macOS
- Download de Docker Desktop installer voor macOS
- Dubbelklik op Docker.dmg en sleep het Docker-pictogram naar de map "Applications".
- Start Docker door dubbel te klikken op Docker.app in de map "Applications".
- Accepteer de Docker Subscription Service Agreement om door te gaan.
- Kies de gewenste instellingen (Aanbevolen of Geavanceerd)
- Voltooi de installatie en voer je wachtwoord in als daarom wordt gevraagd.
Docker installeren op Linux
- Ga naar de link voor Linux
- En volg de stappen die van toepassing zijn op jouw Linux-distributie.
Bronnen voor hulp
Basiscommando's
Docker run
- Start een nieuwe container vanuit een image:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
- Voorbeeld:
docker run -d -p 80:80 docker/getting-started
Docker build
- Bouwt een Docker-image vanuit een Dockerfile:
docker build [OPTIONS] PATH | URL | -
- Voorbeeld:
docker build -t getting-started .
Docker ps
- Geeft een lijst van actieve containers:
docker ps
Docker images
- Geeft een lijst van alle lokaal beschikbare Docker-images:
docker images
Dockerfile
Een Dockerfile is een script met commando's voor het bouwen van een Docker image.
Het specificeert de basisimage, afhankelijkheden, applicatiecode, systeemconfiguraties en andere vereisten
om de applicatie in een container te draaien.
- Voorbeeld Dockerfile:
Docker Compose
Docker Compose is een tool die is ontwikkeld om multi-container applicaties te definiëren en te delen. Je kunt met Compose YAML-bestanden creëren om de services te definiëren en met één commando alles opstarten of afbreken. Het grootste voordeel van het gebruik van Docker Compose is dat je de mogelijkheid hebt om de hele applicatiestack in één bestand vast te leggen, die je vervolgens in de hoofdmap van de projectrepository plaatst. Dit maakt het makkelijker voor anderen om bij te dragen aan je project. Nu hoeven ze enkel je repository te klonen en de Compose-applicatie op te starten
- Voorbeeld: