docker ps -a --filter commando is zeer nuttig om een lijst van Docker-containers te filteren op basis van specifieke voorwaarden. Het is een krachtige functie om snel de gewenste container te vinden in omgevingen met veel containers.
Hieronder zal ik de belangrijkste filteropties uitleggen met praktische voorbeelden.
Basisformaat
docker ps -a --filter <filternaam>=<filterwaarde>
Je kunt meerdere filters tegelijkertijd gebruiken door meerdere --filter opties toe te voegen.
🔍 Belangrijkste filteropties en toepassingen
1. Filteren op status
Wordt gebruikt om te filteren op de status van de container.
| Statusoptie | Beschrijving |
|---|---|
| created | Container is aangemaakt maar nog niet gestart |
| restarting | Container wordt continu herstart |
| running | Container is momenteel aan het draaien |
| paused | Container is gepauzeerd |
| exited | Container is afgesloten |
Voorbeeld: alleen actieve containers bekijken
docker ps -a --filter status=running
Voorbeeld: alleen afgesloten containers bekijken
docker ps -a --filter status=exited
2. Filteren op containernaam
Wordt gebruikt om containers te vinden die een bepaalde naam bevatten.
Voorbeeld: alleen containers met de naam "web" bekijken
docker ps -a --filter name=web
- Voorbeeldresultaat:
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
f1c2d3e4f5 nginx:latest "/start" 2 dagen geleden Up 2 dagen my-web-container
3. Filteren op gebruikte afbeelding
Wordt gebruikt om containers te vinden die een specifieke afbeelding gebruiken.
Voorbeeld: containers die de nginx afbeelding gebruiken bekijken
docker ps -a --filter ancestor=nginx
- Voorbeeldresultaat:
CONTAINER ID IMAGE COMMAND STATUS NAMES
a1b2c3d4e5 nginx:latest "/start" Up 3 uur nginx-server-1
f6g7h8i9j0 nginx:alpine "/start" Afgesloten nginx-temp
4. Filteren op volume
Handig om containers te vinden die een specifiek volume hebben aangekoppeld.
Voorbeeld: containers die het my_volume volume gebruiken bekijken
docker ps -a --filter volume=my_volume
- Voorbeeldresultaat:
CONTAINER ID IMAGE COMMAND STATUS NAMES
1a2b3c4d5e postgres "docker-entry" Up 2 dagen postgres_db
5. Filteren op label
Nuttig voor het beheren van containers met labels via Docker Compose of Kubernetes.
Voorbeeld: containers met het label "env=production" bekijken
docker ps -a --filter label=env=production
- Voorbeeldresultaat:
CONTAINER ID IMAGE COMMAND STATUS NAMES
abcdef12345 myapp:latest "/run-app" Up 3 dagen myapp-production
6. Filteren op netwerk
Handig om een lijst van containers te bekijken die zijn verbonden met een specifiek netwerk.
Voorbeeld: containers die zijn verbonden met een specifiek netwerk bekijken
docker ps -a --filter network=my_network
- Voorbeeldresultaat:
CONTAINER ID IMAGE COMMAND STATUS NAMES
123abc456de redis "/start" Up 1 dag redis-cache
456def789gh postgres "/start" Up 1 dag postgres-db
7. Filteren op ID
Wordt gebruikt om snel een specifieke container-ID op te zoeken. (Meestal volstaat het om alleen het begin van de ID in te voeren.)
Voorbeeld: alleen containers bekijken waarvan de ID begint met 1234
docker ps -a --filter id=1234
💡 Meerdere filters combineren
Filters kunnen in combinatie worden gebruikt.
Voorbeeld: vind containers waarvan de naam "web" bevat, de status "running" heeft en de "nginx" afbeelding gebruikt
docker ps -a --filter name=web --filter status=running --filter ancestor=nginx
🛠️ Praktische toepassingen
- Alle containers van een specifiek project stopzetten:
docker stop $(docker ps -a -q --filter name=my_project)
- Oude afgesloten containers verwijderen:
docker rm $(docker ps -a -q --filter status=exited)
- Onoverbodige tijdelijke containers opruimen:
docker rm $(docker ps -a -q --filter ancestor=temp_image)
Met het docker ps -a --filter commando kun je eenvoudig en snel filteren en beheren, vooral wanneer je veel containers hebt. Maak er actief gebruik van!
댓글이 없습니다.