Volledige handleiding voor het maken en beheren van Docker-containers

Laatste update: 08/05/2025
Auteur: Isaac
  • Met Docker kunt u applicaties verpakken met hun afhankelijkheden, waardoor portabiliteit en consistentie worden gegarandeerd.
  • Containers worden gemaakt van reeds bestaande Docker-images of aangepast met behulp van een Dockerfile.
  • De uitvoering van containers kan worden aangepast met behulp van parameters zoals volumes, omgevingsvariabelen en poorttoewijzing.
  • Docker Compose en andere orkestratiehulpmiddelen helpen bij het beheren van containers in complexe omgevingen.
havenarbeider
Gemaakt met GIMP

Docker is uitgegroeid tot een van de essentiële hulpmiddelen bij de ontwikkeling en implementatie van moderne applicaties.. Dankzij de mogelijkheid om geïsoleerde en consistente omgevingen te creëren, kunnen ontwikkelaars werken zonder zich zorgen te maken over typische configuratieproblemen tussen verschillende systemen.

In deze handleiding leert u stap voor stap en tot in detail hoe u een Docker-container vanaf nul kunt maken.. We behandelen alles van de basisinstallatie tot geavanceerde Docker Compose-implementatie, inclusief het maken van aangepaste images, het gebruiken van volumes, het beheren van actieve containers en best practices voor het optimaliseren van uw werkomgeving.

Wat is een Docker-container en waarom zou je deze gebruiken?

Een Docker-container is een lichte en draagbare eenheid die een applicatie bevat, samen met al haar afhankelijkheden.. In tegenstelling tot een virtuele machine, die een volledig besturingssysteem bevat, delen containers de kernel van het hostbesturingssysteem, waardoor ze veel sneller en efficiënter zijn.

Dankzij Docker kunt u uw applicatie ontwikkelen, testen en implementeren in verschillende omgevingen zonder dat u zich zorgen hoeft te maken over de verschillen tussen de omgevingen.. Deze eigenschap maakt het een ideale oplossing voor zowel productieomgevingen als lokale tests en ontwikkelingen.

Vereisten voor het gebruik van Docker

  • Ondersteund besturingssysteem: Ubuntu, Debian, Fedora, CentOS, macOS of Windows.
  • Toegang tot superuser-rechten (wortel of sudo) om Docker te installeren en uit te voeren.
  • Internet-verbinding om officiële images van Docker Hub te downloaden.

Docker installeren

Docker installeren is meestal eenvoudig. Op Ubuntu kun je het met deze installeren commando's:

sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io

Om Docker automatisch te laten starten wanneer u uw systeem inschakelt, kunt u het als volgt uitvoeren:

sudo systemctl schakelt docker in sudo systemctl schakelt containerd in

De installatie verifiëren

havenarbeider

Nadat u Docker hebt geïnstalleerd, kunt u controleren of Docker actief is door de volgende opdracht uit te voeren:

docker voert hallo-wereld uit

Met deze opdracht wordt een testafbeelding gedownload en wordt een bericht weergegeven waarin wordt bevestigd dat alles correct werkt.

  Hoe u zich vanaf elk apparaat afmeldt bij Outlook

Een container maken: de basis

Om een ​​container te maken heb je een Docker-image nodig, een pakket met alle componenten die uw applicatie nodig heeft. Images kunnen worden gedownload van Docker Hub of handmatig worden gemaakt.

Om bijvoorbeeld een eenvoudige Nginx-server in te stellen, kunt u het volgende gebruiken:

docker run --name mijnweb -p 8080:80 -d nginx

Met deze instructie:

  • –naam mijnwebsite: geeft een naam aan de container.
  • -p 8080:80: Leidt hostpoort 8080 om naar containerpoort 80.
  • -d: voert de container op de achtergrond uit.

Aangepaste afbeeldingen maken met Dockerfile

Met een Dockerfile kunt u stap voor stap aangepaste afbeeldingen bouwen. Elke instructie in het bestand voegt een nieuwe laag toe aan de uiteindelijke afbeelding. Hier is een eenvoudig voorbeeld:

VAN ubuntu:latest WORKDIR /app KOPIE . . VOER apt-get update en apt-get install -y curl uit
CMD 

Dit bestand doet het volgende:

  • NU: Gebruik de nieuwste versie van Ubuntu als basis.
  • WERKDIR: stelt de werkdirectory in.
  • COPY: kopieert bestanden van de host naar de container.
  • VLUCHTEN: installeert het curl-pakket.
  • CMD: definieert de standaardopdracht bij het uitvoeren van de container.

Om de afbeelding met dit Dockerfile te bouwen, kunt u de handleiding raadplegen op Aangepaste afbeeldingen maken met Dockerfile.

Een container uitvoeren vanuit uw eigen image

Zodra het image is gebouwd, kunt u uw applicatie starten met:

docker run --name voorbeeld -p 8080:80 mijnproject

Zo maakt u een container van de afbeelding die u zojuist hebt gemaakt..

Docker-containerbeheer

Docker biedt verschillende opdrachten om uw containers te beheren. Enkele van de meest bruikbare zijn:

  • docker ps: geeft een overzicht van de actieve containers.
  • docker ps -a: toont alle containers, inclusief gestopte.
  • docker stop nombre_contenedor: stopt een container.
  • docker rm nombre_contenedor: verwijdert een container.

Gegevenspersistentie: volumes in Docker

Standaard gaan gegevens die in een container zijn opgeslagen, verloren wanneer ze worden verwijderd. Om persistente gegevens te behouden, is het essentieel om volumes te mounten. Door volumes te gebruiken, zorgt u ervoor dat gegevens het verwijderen van de container overleven en tussen containers kunnen worden gedeeld.

  Wat House Hopping met uw financiële situatie kan doen

Voorbeeld met bindtype volume:

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=sleutel -v $PWD/data:/var/lib/mysql mysql:8.0

U kunt ook door Docker beheerde volumes gebruiken:

docker volume aanmaken mysql_data docker run -d -p 3306:3306 -e MYSQL_ROOT_WACHTWOORD=sleutel -v mysql_data:/var/lib/mysql mysql:8.0

Omgevingsvariabelen

Met Docker kunt u omgevingsvariabelen configureren waarmee u het gedrag van containers kunt parametriseren.. Bijvoorbeeld:

docker run -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=store mysql:8.0

Toewijzing van middelen

U kunt het CPU- en geheugengebruik van een container beperken. Dit is handig om te voorkomen dat één enkel item alle systeembronnen in beslag neemt:

docker run --cpus=0.5 --memory=512m mijnimage

Basisorkestratie met Docker Compose

Docker Compose vereenvoudigt het beheer van meerdere containers. Definieer alle benodigde services in een YAML-bestand en voer ze vervolgens uit met een eenvoudige opdracht. Voor meer informatie over het maken van containers in Docker met behulp van Docker Compose, zie gebruik Docker Compose.

Basis docker-compose.yml voorbeeld voor MySQL:

versie: '3' services: mysql: image: mysql:8.0 ports: - 3306:3306 omgeving: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=project - MYSQL_USER=gebruiker - MYSQL_PASSWORD=sleutel volumes: - mysql_data:/var/lib/mysql volumes: mysql_data:

Om de diensten op te heffen:

docker-opstellen up -d

Aanbevolen procedures bij het gebruik van Docker

Volg deze aanbevelingen om uw images en containers efficiënt, veilig en eenvoudig te onderhouden te houden::

  • Gebruik waar mogelijk officiële afbeeldingen, omdat ze gecontroleerd en geoptimaliseerd worden.
  • Houd uw containers licht door kleine basisimages te gebruiken en onnodige bestanden te verwijderen na de installatie van pakketten.
  • Voer geen processen uit als root, maakt een specifieke gebruiker binnen de container.
  • Gebruik volumes om persistente gegevens op te slaan en verlies door storingen of updates vermijden.
  • Gevoelige variabelen configureren als geheimen met behulp van omgevingen of .env-bestanden, om te voorkomen dat ze in de broncode worden vermeld.

Praktisch voorbeeld: Pandora FMS implementeren met Docker

Een echte applicatie met meerdere containers is Pandora FMS. We kunnen zowel de server als de database implementeren met slechts twee opdrachten als we Docker gebruiken.

Eerst zetten we de database op:

docker run --name Pandora_DB -p 3306:3306 -e MYSQL_ROOT_WACHTWOORD=pandora -e MYSQL_DATABASE=pandora -e MYSQL_GEBRUIKER=pandora -e MYSQL_WACHTWOORD=pandora -v mysqlvol:/var/lib/mysql -d rameijeiras/pandorafms-percona-base

Vervolgens wordt de applicatieserver gestart die naar het host-IP verwijst:

docker run --name Pandora_app --rm -p 8081:80 -e DBHOST=127.0.0.1 -e DBNAME=pandora -e DBUSER=pandora -e DBPASS=pandora -e DBPORT=3306 -ti rameijeiras/pandorafms-community:740

Hiermee beschikt u binnen enkele minuten over een functioneel exemplaar van Pandora FMS..

  Wat levert een salaris van vijf cijfers je op?

Docker is een veelzijdige tool die de manier waarop applicaties worden geïmplementeerd en beheerd, radicaal verandert. Van de implementatie van eenvoudige ontwikkelcontainers tot complexe omgevingen met meerdere services: met containers verbetert u de efficiëntie, vermindert u compatibiliteitsproblemen en kunt u uw projecten eenvoudiger schalen. Docker onder de knie krijgen is een investering die het verschil kan maken in het beheer van uw implementaties en applicatieontwikkeling.

Docker-0 basisopdrachten
Gerelateerd artikel:
Docker-opdrachten: een complete handleiding voor het beheren van containers