Docker Cheat Sheet

Enkele veelgebruikte parameteropties voor docker-commando's

Inhoud

Hier is een Docker cheatsheet met de belangrijkste commando’s en concepten, van installatie tot het draaien van containers en het opschonen:

docker logo

Deze gids is onderdeel van de Developer Tools: De complete gids voor moderne ontwikkelworkflows.

Installatie

Voor een complete gids over het installeren van Docker op Ubuntu — waarbij de officiële APT-repository, docker.io, Snap, rootless-modus en de Compose-plugin worden vergeleken — zie Docker installeren op Ubuntu.

Voeg na de installatie je gebruiker toe aan de docker-groep als je commando’s zonder sudo wilt uitvoeren:

sudo usermod -aG docker $USER
newgrp docker
docker run hello-world

De installatiegids behandelt ook de beveiligingsafwegingen van lidmaatschap van de docker-groep en rootless-alternatieven.

Algemene Docker-commando’s

Versie en systeeminfo

docker version          # Toont Docker CLI- en daemonversies
docker system info      # Lijst met gegevens over je Docker-omgeving
docker help             # Bekijk de help-index
docker <commando> --help # Bekijk helpinformatie voor een specifiek commando

Inloggen en uitloggen

docker login            # Inloggen op Docker Hub
docker logout           # Uitloggen van Docker Hub

Beheer van images

Lijst van images

docker images           # Lijst met alle images
docker images -a        # Lijst met alle images, inclusief tussenimages

Images ophalen (pull)

docker pull <naam-image:versie> # Download een image van Docker Hub

Images bouwen

docker build -t <naam-image> . # Bouw een image vanuit de Dockerfile in de huidige map
docker build -f <pad-naar-Dockerfile> -t <naam-image> . # Bouw een image vanuit een specifieke Dockerfile
docker build --build-arg foo=bar . # Bouw een image met build-argumenten
docker build --pull . # Haal bijgewerkte versies op van images die in FROM-instructies worden verwezen
docker build --quiet . # Bouw een image zonder uitvoer

Images taggen en pushen

docker tag <lokale-naam-image> <gebruikersnaam>/<voorkeur-naam-image>
docker push <gebruikersnaam>/<voorkeur-naam-image>

Images verwijderen

docker rmi <naam-image>        # Verwijder een specifiek image
docker image prune             # Verwijder ongebruikte images
docker image prune -a          # Verwijder alle ongebruikte images

Verwijder hangende (dangling) images

docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

Image onttaggen

docker rmi repository/naam-image:tag

Beheer van containers

Containers draaien

docker run -itd --name <naam-container> <naam-image> # Draai een container in afgebroken (detached) modus
docker run -it -p <host-poort>:<docker-poort> <naam-image> # Draai een container met poortmapping
docker run -it --name <naam-container> <naam-image> # Draai een container interactief

Lijst van containers

docker ps                  # Lijst met draaiende containers
docker ps -a               # Lijst met alle containers
docker ps -s               # Lijst met draaiende containers met CPU- en geheugengebruik

Containers starten, stoppen en herstarten

docker start <naam-container>   # Start een gestopte container
docker stop <naam-container>    # Stop een draaiende container
docker restart <naam-container> # Herstart een container

Containers verwijderen

docker rm <naam-container>      # Verwijder een gestopte container
docker rm -f <naam-container>   # Verwijder een container met geweld
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Verwijder alle containers

Verwijder alle gestopte containers

docker container prune

Verbinden met containers

docker attach <naam-container>  # Verbind met een draaiende container
docker exec -it <naam-container> bash # Voer een commando interactief uit in een draaiende container

Containers inspecteren

docker inspect <naam-container> # Inspecteer een container
docker logs <naam-container>    # Bekijk de logs van een container
docker port <naam-container>    # Toon de poortmappings van een container

Beheer van netwerken

docker network ls            # Lijst met alle netwerken
docker network create <naam-netwerk> # Maak een nieuw netwerk aan
docker network rm <naam-netwerk>    # Verwijder een netwerk

Beheer van volumes

docker volume ls             # Lijst met alle volumes
docker volume create <naam-volume> # Maak een nieuw volume aan
docker volume rm <naam-volume>    # Verwijder een volume
docker run -v <pad-host>:<pad-container> <naam-image> # Koppel een volume

Docker Compose

Voor multi-container stacks en dagelijkse Compose-commando’s, zie de Docker Compose Cheatsheet. Als een Compose-project bij het opstarten moet starten en herstarts moet overleven op een Linux-server, dekt Docker Compose draaien als Linux-service met systemd eenheidsbestanden en operationele gewoontes.

Basiscommando’s

docker-compose up           # Start services gedefinieerd in docker-compose.yml
docker-compose up -d        # Start services in afgebroken (detached) modus
docker-compose down         # Stop en verwijder services
docker-compose ps           # Lijst met draaiende services
docker-compose logs         # Bekijk logs van services
docker-compose start        # Start services
docker-compose stop         # Stop services
docker-compose pause        # Pauzeer services
docker-compose unpause      # Hervat services

Dockerfile-commando’s

Image bouwen vanuit Dockerfile

docker build -t <naam-image> <pad-naar-Dockerfile> # Bouw een image vanuit een Dockerfile

Voorbeeld Dockerfile

FROM <basis-image>
RUN <commando>
COPY <bron> <bestemming>
EXPOSE <poort>
CMD ["<commando>", "<argument>"]

Beveiliging en secrets

Docker Secrets

docker secret create <naam-secret> <bestand> # Maak een secret aan
docker secret ls                         # Lijst met alle secrets
docker secret rm <naam-secret>          # Verwijder een secret

Docker Beveiliging

  • Gebruik Docker secrets om gevoelige gegevens centraal te beheren en veilig over te dragen naar containers.
  • Secrets zijn versleuteld tijdens transport en in rust (at rest) in een Docker-swarm.

Opschonen

Verwijder ongebruikte resources

docker system prune          # Verwijder ongebruikte gegevens (images, containers, netwerken, volumes)
docker image prune           # Verwijder ongebruikte images
docker container prune       # Verwijder ongebruikte containers
docker network prune         # Verwijder ongebruikte netwerken
docker volume prune          # Verwijder ongebruikte volumes

Verwijder niet-getagde images

Soms na een grote succesvolle compilatie zie je een beeld zoals dit van het docker images commando:

veel niet-getagde images

om deze images met tags te verwijderen:```bash docker rmi $(docker images –filter “dangling=true” -q –no-trunc)


Het bovenstaande is oud en incompatibel. De parameter dangling=true is verouderd. Gebruik

```bash
docker system prune

het zal vragen:

WAARSCHUWING! Dit zal verwijderen:
	- alle gestopte containers
	- alle volumes niet gebruikt door ten minste één container
	- alle netwerken niet gebruikt door ten minste één container
	- alle hangende (dangling) images

Je kunt besluiten Ja te zeggen op deze waarschuwing…

Deze cheatsheet dekt de essentiële commando’s en concepten die nodig zijn om Docker-containers, images, netwerken, volumes en meer te beheren. Voor een dieper duik, verwijzen naar de gedetailleerde gidsen en tutorials beschikbaar online.

Abonneren

Ontvang nieuwe berichten over systemen, infrastructuur en AI-engineering.