Docker: Οι 5 Βασικές Εντολές & το πρώτο σας Container
Μετά την εγκατάσταση του Docker, ήρθε η ώρα να περάσετε στην πράξη. Να τρέξετε το πρώτο σας container και θα μάθετε τις θεμελιώδεις εντολές που θα χρησιμοποιείτε καθημερινά.
Μην ανησυχείτε αν δεν έχετε εμπειρία με το τερματικό (command line). Ακολουθήστε τα βήματα και θα δείτε πόσο απλή είναι η διαδικασία.

Επιβεβαίωση Λειτουργίας (The “Hello World”)
Ανοίξτε το τερματικό σας (PowerShell ή CMD στα Windows, Terminal σε Linux/Mac) και γράψτε την παρακάτω εντολή:
docker run hello-world
Τι μόλις συνέβη; Αν δείτε ένα μήνυμα που λέει “Hello from Docker!”, συγχαρητήρια! Το Docker:
- Έψαξε να βρει την εικόνα (image)
hello-worldστον υπολογιστή σας. - Δεν την βρήκε, οπότε την κατέβασε αυτόματα από το Docker Hub (το cloud registry).
- Δημιούργησε ένα νέο container από αυτήν την εικόνα.
- Έτρεξε το πρόγραμμα, εμφάνισε το μήνυμα και τερμάτισε.


Οι 5 Εντολές που πρέπει να ξέρετε
Αν και το Docker διαθέτει μια τεράστια λίστα από εντολές και παραμέτρους, στην καθημερινή σας εργασία θα διαπιστώσετε ότι το 80% της διαχείρισης γίνεται χρησιμοποιώντας μόλις πέντε συγκεκριμένες εντολές. Αυτές αποτελούν το «αλφαβητάριο» που πρέπει να κατέχει κάθε developer για να επιβιώσει στον κόσμο των Containers.
Για να τις κατανοήσουμε σε βάθος, δεν θα μείνουμε σε βαρετά παραδείγματα κειμένου. Ας τις δούμε στην πράξη τρέχοντας κάτι πραγματικά χρήσιμο: θα σηκώσουμε τον Nginx, έναν από τους πιο δημοφιλείς και γρήγορους Web Servers παγκοσμίως, απευθείας στον υπολογιστή μας.
1. Docker Pull (Κατέβασμα Εικόνας)
Για να κατεβάσετε μια εικόνα χωρίς να την τρέξετε άμεσα:
docker pull nginxΑυτό κατεβάζει την τελευταία έκδοση του δημοφιλούς web server Nginx στον υπολογιστή σας.

2. Docker Run (Εκκίνηση Container)
Η πιο σημαντική εντολή. Για να τρέξετε τον server στο παρασκήνιο, γράψτε:
docker run -d -p 8080:80 --name my-web-server nginxΤι σημαίνουν τα σύμβολα;
-d(Detach): Το container τρέχει στο παρασκήνιο (background) και δεν δεσμεύει το τερματικό σας.-p 8080:80(Ports): Συνδέουμε την πόρτα 8080 του υπολογιστή σας με την πόρτα 80 του container.--name: Δίνουμε ένα όνομα για να το βρίσκουμε εύκολα.

👉 Δοκιμάστε το: Ανοίξτε τον browser σας (Chrome/Edge) και πληκτρολογήστε localhost:8080. Θα δείτε την αρχική σελίδα του Nginx! Μόλις σηκώσατε έναν web server σε δευτερόλεπτα χωρίς καμία εγκατάσταση!

3. Docker PS (Προβολή Ενεργών Containers)
Για να δείτε ποια containers τρέχουν αυτή τη στιγμή:
docker psΘα δείτε μια λίστα με το ID, το όνομα, και τα ports του container. Αν θέλετε να δείτε και αυτά που έχουν σταματήσει, προσθέστε -a (docker ps -a).

4. Docker Stop (Τερματισμός)
Για να σταματήσετε το conteiner του server που τρέχει:
docker stop my-web-server
Αν κάνετε ανανέωση στον browser, η σελίδα δεν θα φορτώνει πλέον.
5. Docker RM (Διαγραφή)
Τα containers που σταματούν, παραμένουν στον δίσκο και πιάνουν χώρο. Για να διαγράψετε οριστικά το container:
docker rm my-web-serverΠροσοχή: Αυτό διαγράφει το container, όχι την εικόνα (image) του Nginx που κατεβάσατε αρχικά.

Image vs Container: Η Διαφορά
Η κατανόηση της διάκρισης μεταξύ Image και Container είναι θεμελιώδης για τη σωστή διαχείριση των πόρων του συστήματός σας. Αν και συχνά οι όροι χρησιμοποιούνται εναλλακτικά, τεχνικά αντιπροσωπεύουν δύο διαφορετικές καταστάσεις του κύκλου ζωής μιας εφαρμογής.
1. Docker Image (Η Στατική Δομή)
Το Image είναι ένα αμετάβλητο αρχείο που περιέχει τον πηγαίο κώδικα, τις βιβλιοθήκες, τις εξαρτήσεις (dependencies) και τα εργαλεία συστήματος που απαιτούνται για να τρέξει η εφαρμογή.
- Read-Only: Δεν μπορείτε να τροποποιήσετε ένα Image αφού δημιουργηθεί. Οποιαδήποτε αλλαγή στον κώδικα απαιτεί τη δημιουργία (build) ενός νέου Image.
- Layered: Αποτελείται από πολλαπλά στρώματα (layers) αρχείων συστήματος, το ένα πάνω στο άλλο.
2. Docker Container (Το Περιβάλλον Εκτέλεσης)
Το Container είναι η στιγμιότυπη εκτέλεση (runtime instance) ενός Image. Είναι το περιβάλλον που δημιουργείται όταν το Docker “φορτώνει” το Image στη μνήμη.
- Writable Layer: Η ειδοποιός διαφορά είναι ότι το Container προσθέτει ένα λεπτό στρώμα εγγραφής (read-write layer) πάνω από τα read-only layers του Image.
- Ephemeral: Όλα τα δεδομένα που γράφονται κατά τη λειτουργία της εφαρμογής (logs, προσωρινά αρχεία) αποθηκεύονται σε αυτό το προσωρινό στρώμα. Αν διαγράψετε το Container, αυτά τα δεδομένα χάνονται (εκτός αν χρησιμοποιείτε Volumes).
Docker RMI (Διαγραφή Εικόνας)
Προσοχή: Η εντολή docker rm που είδαμε παραπάνω, διαγράφει μόνο το container (την «εκτέλεση»). Το αρχείο της εικόνας (Image) παραμένει αποθηκευμένο στον δίσκο σας για να μπορείτε να το ξανατρέξετε γρήγορα στο μέλλον.
Για να δείτε τη λίστα με όλες τις εικόνες που έχετε κατεβάσει τοπικά πληκτρολογήστε:
docker images
Αν θέλετε να απελευθερώσετε χώρο στον δίσκο και να διαγράψετε οριστικά την εικόνα πχ του web server Nginx που κατεβάσατε νωρίτερα, η εντολή είναι:
docker rmi nginxΣημαντική Σημείωση: Το Docker δεν θα σας επιτρέψει να διαγράψετε μια εικόνα αν υπάρχει έστω και ένα container (ακόμα και σταματημένο) που βασίζεται σε αυτήν. Θα λάβετε σφάλμα τύπου conflict: unable to delete.

Η σωστή σειρά είναι:docker stop ... (Σταματάμε το container)docker rm ... (Διαγράφουμε το container)docker rmi ... (Διαγράφουμε την εικόνα)
Εντολές ή Docker Desktop (GUI)
Αν η γραμμή εντολών (CLI) σας φαίνεται κουραστική στην αρχή, έχουμε καλά νέα. Όλες οι παραπάνω διαδικασίες μπορούν να γίνουν και οπτικά, μέσα από το φιλικό περιβάλλον του Docker Desktop Dashboard.
Παρέχει τη δυνατότητα να:
- Βλέπετε όλα τα αποθηκευμένα Images και να τα διαγράφετε με ένα κλικ (αντί για
rmi). - Παρακολουθείτε ποια Containers τρέχουν σε πραγματικό χρόνο, να τα σταματάτε ή να τα επανεκκινείτε.
- Έχετε πρόσβαση σε logs και στατιστικά χρήσης πόρων (CPU/RAM).

Γιατί τότε μαθαίνουμε εντολές; Παρόλο που το γραφικό περιβάλλον προσφέρει ταχύτητα και ευκολία στον προσωπικό μας υπολογιστή, η γνώση των εντολών είναι αναντικατάστατη. Σε πραγματικές συνθήκες εργασίας (όπως σε απομακρυσμένους servers, στο Cloud ή σε Linux περιβάλλοντα), σπάνια υπάρχει γραφικό περιβάλλον. Εκεί, η γραμμή εντολών είναι το μοναδικό και ισχυρότερο εργαλείο σας.
Τώρα γνωρίζετε πώς να διαχειρίζεστε έτοιμες εφαρμογές από το Docker Hub. Όμως, η πραγματική δύναμη του Docker εμφανίζεται όταν πακετάρετε τις δικές σας εφαρμογές.
🚀 Μείνετε συντονισμένοι για περισσότερα άρθρα !
👇 Μην ξεχάσετε να αφήσετε το σχόλιό σας παρακάτω και να μοιραστείτε το άρθρο με τους φίλους σας. 📢







