Skip to content

Εντολές Docker εξηγημένες

Οι εντολές του Docker για καθημερινή χρήση, ομαδοποιημένες ανά εργασία: δημιουργία και μετακίνηση εικόνων, εκκίνηση και σταμάτημα containers, ρύθμιση του docker run με flags, ανάγνωση logs και στατιστικών, πρόσβαση μέσα σε ένα container, αντιγραφή αρχείων και επικοινωνία με registries, διαχείριση volumes και δικτύων, έλεγχος του Compose και ανάκτηση χώρου στο δίσκο.

Το Docker χωρίζεται σε δύο αντικείμενα: εικόνες (το πρότυπο μόνο για ανάγνωση) και containers (ένα εκτελούμενο αντίγραφο μιας εικόνας). Δημιουργείς ή κατεβάζεις μια εικόνα, την εκτελείς ως container, επιθεωρείς τι συμβαίνει και μετά καθαρίζεις. Οι περισσότεροι χρησιμοποιούν επίσης το Compose για να δηλώσουν εφαρμογές πολλών containers. Κάθε εντολή παρακάτω έχει σύντομη μορφή· η μακριά μορφή εμφανίζεται όπου είναι η πιο ξεκάθαρη.

Πίνακας αναφοράς · 75 καταχωρήσεις
75 of 75 rows
Build
Δημιουργεί μια εικόνα από ένα Dockerfile.docker build -t app:1.0 .
Ξαναχτίζει την εικόνα από την αρχή, αγνοώντας τα cached layers.docker build --no-cache -t app:1.0 .
Χτίζει μόνο μέχρι ένα επώνυμο στάδιο σε ένα multi-stage Dockerfile.docker build --target deps -t app:deps .
Δημιουργεί εικόνες μέσω του plugin buildx, που οδηγεί το BuildKit.docker buildx build -t app:1.0 .
Χτίζει μία εικόνα για πολλές αρχιτεκτονικές CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Εικόνες
Κατεβάζει μια εικόνα από ένα registry.docker pull node:20
Παραθέτει τις εικόνες που είναι αποθηκευμένες τοπικά.docker images
Δημιουργεί ένα νέο tag που δείχνει στην ίδια εικόνα.docker tag app:1.0 app:latest
Αφαιρεί μία ή περισσότερες τοπικές εικόνες.docker rmi app:1.0
Κύκλος ζωής container
Δημιουργεί και εκκινεί ένα container από μια εικόνα.docker run -p 8080:3000 app
Δημιουργεί ένα container χωρίς να το εκκινήσει.docker create --name web app
Εκκινεί ένα container που ήταν σταματημένο.docker start web
Σταματάει ένα εκτελούμενο container με ασφάλεια.docker stop web
Σταματάει και εκκινεί ένα container σε ένα βήμα.docker restart web
Σταματάει βίαια ένα container χωρίς να περιμένει ομαλό τερματισμό.docker kill web
Παγώνει όλες τις διεργασίες μέσα σε ένα container.docker pause web
Ξεπαγώνει τις διεργασίες ενός container σε παύση.docker unpause web
Μπλοκάρει μέχρι να σταματήσει ένα container και εκτυπώνει τον κωδικό εξόδου του.docker wait web
Παραθέτει τα εκτελούμενα containers· πρόσθεσε το -a για να συμπεριλάβεις τα σταματημένα.docker ps -a
Δίνει σε ένα υπάρχον container ένα νέο όνομα.docker rename web web-old
Αλλάζει τα όρια πόρων ή την πολιτική επανεκκίνησης ενός container.docker update --restart=unless-stopped web
Αφαιρεί ένα σταματημένο container.docker rm web
Flags του run
Εκτελεί το container στο παρασκήνιο και εκτυπώνει το ID του.docker run -d -p 8080:80 app
Δημοσιεύει μια θύρα του container σε μια θύρα του host.docker run -p 8080:80 app
Προσαρτά έναν φάκελο του host ή ένα επώνυμο volume στο container.docker run -v app-data:/data app
Ορίζει μια μεταβλητή περιβάλλοντος στο container.docker run -e MODE=prod app
Δίνει στο container ένα σταθερό όνομα για χρήση σε επόμενες εντολές.docker run --name web app
Διαγράφει το container όταν τερματίζει.docker run --rm app
Εκκινεί το container σε ένα συγκεκριμένο δίκτυο.docker run --network net app
Λέει στο Docker πότε να επανεκκινήσει το container.docker run --restart unless-stopped app
Αποκτά τερματικό και κρατά το stdin ανοιχτό για διαδραστική συνεδρία.docker run -it alpine sh
Αντικαθιστά το entrypoint της εικόνας με δική σου εντολή.docker run --entrypoint sh app
Περιορίζει τη μνήμη ή το μερίδιο CPU που μπορεί να χρησιμοποιήσει το container.docker run --memory 512m --cpus 0.5 app
Επιθεώρηση
Διαβάζει το stdout και το stderr ενός container· το -f ακολουθεί τη νέα έξοδο καθώς έρχεται.docker logs -f web
Δείχνει τη διαμόρφωση και την κατάσταση χαμηλού επιπέδου ενός container ή εικόνας.docker inspect web
Τραβάει ένα πεδίο από το inspect με ένα Go template.docker inspect --format '{{.State.Status}}' web
Παραθέτει τις θύρες του host που δημοσιεύει ένα container.docker port web
Δείχνει αρχεία που άλλαξε ένα container σε σύγκριση με την εικόνα του.docker diff web
Ζωντανά CPU, μνήμη και δίκτυο για τα εκτελούμενα containers.docker stats
Παραθέτει τις διεργασίες που εκτελούνται μέσα σε ένα container.docker top web
Μεταδίδει γεγονότα του Docker από τον daemon καθώς συμβαίνουν.docker events --filter type=container
Δείχνει τον χώρο δίσκου που χρησιμοποιούν εικόνες, containers, volumes και cache.docker system df
Δείχνει τις ρυθμίσεις και την κατάσταση του Docker σε όλο το σύστημα.docker info
Exec & attach
Εκτελεί μια εντολή μέσα σε ένα εκτελούμενο container.docker exec -it web sh
Συνδέει το τερματικό σου στην κύρια διεργασία ενός container.docker attach web
Αρχεία & registry
Αντιγράφει αρχεία μεταξύ ενός container και του τοπικού συστήματος αρχείων.docker cp web:/app/logs ./logs
Συνδέεται σε ένα registry από τη γραμμή εντολών.docker login
Αποσυνδέεται από ένα registry.docker logout
Ανεβάζει μια τοπική εικόνα σε ένα registry.docker push user/app:1.0
Γράφει μια εικόνα σε αρχείο tar.docker save -o app.tar app:1.0
Διαβάζει μια εικόνα από αρχείο tar.docker load -i app.tar
Γράφει το σύστημα αρχείων ενός container σε αρχείο tar.docker export web > web.tar
Δημιουργεί μια εικόνα από ένα σύστημα αρχείων tar.docker import web.tar web:snap
Μετατρέπει την τρέχουσα κατάσταση ενός container σε νέα εικόνα.docker commit web app:snap
Volumes
Δημιουργεί ένα επώνυμο volume για μόνιμα δεδομένα.docker volume create data
Παραθέτει τα volumes.docker volume ls
Αφαιρεί ένα volume.docker volume rm data
Δίκτυα
Παραθέτει τα δίκτυα.docker network ls
Δημιουργεί ένα δίκτυο ώστε τα containers να επικοινωνούν μεταξύ τους.docker network create net
Συνδέει ένα εκτελούμενο container σε ένα δίκτυο.docker network connect net web
Compose
Χτίζει, (ξανα)δημιουργεί και εκκινεί τις υπηρεσίες του compose.yaml· το -d τις αφήνει να εκτελούνται στο παρασκήνιο.docker compose up -d
Εκκινεί τις υπηρεσίες και ξαναχτίζει πρώτα τις εικόνες τους.docker compose up --build -d
Εκτελεί μια εντολή μέσα σε ένα εκτελούμενο container υπηρεσίας.docker compose exec api sh
Ακολουθεί τα logs μίας ή περισσότερων υπηρεσιών.docker compose logs -f api
Παραθέτει τα containers υπηρεσιών που διαχειρίζεται το Compose.docker compose ps
Σταματά τα containers υπηρεσιών χωρίς να τα αφαιρεί.docker compose stop
Επανεκκινεί τα containers υπηρεσιών.docker compose restart api
Σταματά και αφαιρεί containers και δίκτυα· το -v αφαιρεί επίσης τα επώνυμα volumes.docker compose down
Δείχνει την τελική διαμόρφωση του Compose μετά από merges και αντικατάσταση μεταβλητών.docker compose config
Καθαρισμός
Αφαιρεί σταματημένα containers, dangling εικόνες και αχρησιμοποίητα δίκτυα· το -a --volumes αφαιρεί επίσης αχρησιμοποίητες εικόνες και volumes.docker system prune -af
Αφαιρεί όλα τα σταματημένα containers.docker container prune
Αφαιρεί αχρησιμοποίητες ή dangling εικόνες.docker image prune -a
Αφαιρεί volumes που δεν χρησιμοποιεί κανένα container.docker volume prune
Αφαιρεί δίκτυα που δεν χρησιμοποιεί κανένα container.docker network prune
Αφαιρεί τα cached layers της δόμησης.docker builder prune