Docker CheatSheet
Enkele veelvoorkomende docker opdrachtregelparameters
Hier is een Docker cheat sheet
die de belangrijkste opdrachten en concepten behandelt van installeren tot het draaien van containers en het opruimen:
Installatie
Op Ubuntu
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl start docker
Installatie van Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
``").
## Algemene Docker Opdrachten
### Versie en Systeeminfo
```bash
docker version # Toont de versies van de Docker CLI en daemon
docker system info # Lijst gegevens over je Docker-omgeving
docker help # Bekijk het help-index
docker <command> --help # Bekijk hulpinformatie voor een specifieke opdracht
Aanmelden en Afmelden
docker login # Aanmelden bij Docker Hub
docker logout # Afmelden van Docker Hub
Beheer van Afbeeldingen
Lijst Afbeeldingen
docker images # Lijst alle afbeeldingen
docker images -a # Lijst alle afbeeldingen, inclusief tussenliggende afbeeldingen
Afbeeldingen Ophalen
docker pull <image-name:version> # Download een afbeelding van Docker Hub
Afbeeldingen Bouwen
docker build -t <image-name> . # Bouw een afbeelding vanuit de huidige directory's Dockerfile
docker build -f <Dockerfile-path> -t <image-name> . # Bouw een afbeelding vanuit een specifieke Dockerfile
docker build --build-arg foo=bar . # Bouw een afbeelding met bouwargumenten
docker build --pull . # Ophalen van bijgewerkte versies van afbeeldingen die in FROM instructies worden verwezen
docker build --quiet . # Bouw een afbeelding zonder uitvoer te tonen
Afbeeldingen Taggen en Pushen
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
Afbeeldingen Verwijderen
docker rmi <image-name> # Verwijder een specifieke afbeelding
docker image prune # Verwijder ongebruikte afbeeldingen
docker image prune -a # Verwijder alle ongebruikte afbeeldingen
Verwijder losse afbeeldingen
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Afbeelding ontaggen
docker rmi repository/image-name:tag
Beheer van Containers
Containers Starten
docker run -itd --name <container-name> <image-name> # Start een container in detached modus
docker run -it -p <host-port>:<docker-port> <image-name> # Start een container met poorttoewijzing
docker run -it --name <container-name> <image-name> # Start een container interactief
Containers Lijsten
docker ps # Lijst lopende containers
docker ps -a # Lijst alle containers
docker ps -s # Lijst lopende containers met CPU- en geheugengebruik
Starten, Stoppen en Herstarten van Containers
docker start <container-name> # Start een gestopte container
docker stop <container-name> # Stop een lopende container
docker restart <container-name> # Herstart een container
Containers Verwijderen
docker rm <container-name> # Verwijder een gestopte container
docker rm -f <container-name> # Verwijder krachtig een container
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Verwijder alle containers
Verwijder alle gestopte containers
docker container prune
Aanmelden bij Containers
docker attach <container-name> # Aanmelden bij een lopende container
docker exec -it <container-name> bash # Voer een opdracht uit in een lopende container interactief
Containers Inspecteren
docker inspect <container-name> # Inspecteer een container
docker logs <container-name> # Bekijk de logboeken van een container
docker port <container-name> # Toon de poorttoewijzingen van een container
Beheer van Netwerken
docker network ls # Lijst alle netwerken
docker network create <network-name> # Creëer een nieuw netwerk
docker network rm <network-name> # Verwijder een netwerk
Beheer van Volumes
docker volume ls # Lijst alle volumes
docker volume create <volume-name> # Creëer een nieuw volume
docker volume rm <volume-name> # Verwijder een volume
docker run -v <host-path>:<container-path> <image-name> # Monteer een volume
Docker Compose
Basisopdrachten
docker-compose up # Start diensten gedefinieerd in docker-compose.yml
docker-compose up -d # Start diensten in detached modus
docker-compose down # Stop en verwijder diensten
docker-compose ps # Lijst lopende diensten
docker-compose logs # Bekijk logboeken van diensten
docker-compose start # Start diensten
docker-compose stop # Stop diensten
docker-compose pause # Pauzeer diensten
docker-compose unpause # Onpauzeer diensten
Dockerfile Opdrachten
Bouw een afbeelding vanuit een Dockerfile
docker build -t <image-name> <Dockerfile-path> # Bouw een afbeelding vanuit een Dockerfile
Voorbeeld Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
Beveiliging en Geheimen
Docker Geheimen
docker secret create <secret-name> <file> # Creëer een geheim
docker secret ls # Lijst alle geheimen
docker secret rm <secret-name> # Verwijder een geheim
Docker Beveiliging
- Gebruik Docker geheimen om gevoelige gegevens centraal te beheren en veilig over te brengen naar containers.
- Geheimen zijn versleuteld tijdens het transport en in rust in een Docker swarm.
Opruimen
Verwijder ongebruikte bronnen
docker system prune # Verwijder ongebruikte gegevens (afbeeldingen, containers, netwerken, volumes)
docker image prune # Verwijder ongebruikte afbeeldingen
docker container prune # Verwijder ongebruikte containers
docker network prune # Verwijder ongebruikte netwerken
docker volume prune # Verwijder ongebruikte volumes
Verwijder ongetagde afbeeldingen
Soms na een grote goede compilatie is er een afbeelding zoals deze vanuit de docker images
opdracht:
om die afbeeldingen met
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
het bovenstaande is oud en niet compatibel. De parameter dangling=true is verouderd. Gebruik
docker system prune
het zal vragen:
WAARSCHUWING! Dit zal verwijderen:
- alle gestopte containers
- alle volumes die niet worden gebruikt door minstens één container
- alle netwerken die niet worden gebruikt door minstens één container
- alle losse afbeeldingen
je kunt beslissen om Ja te zeggen op deze waarschuwing…
Deze cheat sheet behandelt de essentiële opdrachten en concepten die nodig zijn om Docker-containers, afbeeldingen, netwerken, volumes en meer te beheren. Voor een dieper inzicht, verwijzen we naar de gedetailleerde gidsen en tutorials die beschikbaar zijn online.
Nuttige links
- Python Cheat Sheet
- Conda Cheat Sheet
- Bash Cheat Sheet
- Ollama Cheat Sheet
- Kubernetes Cheat Sheet
- Coderen en decoderen Base64 op Windows, Linux en Mac
- Installeer Portainer op Linux
- Herinstalleer Linux
- Hoe terminalvensters tegelvormig starten op Linux Mint en Ubuntu
- MinIO als alternatief voor AWS S3. MinIO overzicht en installatie
- MinIO Opdrachtregelparameters Cheat Sheet