Docker Για Αρχάριους
Το Docker είναι ένα από τα πιο χρήσιμα εργαλεία που μπορεί να μάθει ένας developer σήμερα. Αν έχεις ακούσει όρους όπως containers, images ή microservices και σου φαίνονται βουνό, αυτό το άρθρο είναι για εσένα.
Τι Είναι το Docker;
Με απλά λόγια, το Docker είναι ένα εργαλείο που σου επιτρέπει να “πακετάρεις” μια εφαρμογή μαζί με όλα όσα χρειάζεται για να τρέξει (βιβλιοθήκες, dependencies, ρυθμίσεις) σε ένα απομονωμένο περιβάλλον που λέγεται container.
Πρακτικά αυτό σημαίνει ότι:
- Δεν σε νοιάζει τι λειτουργικό έχει ο άλλος
- Δεν έχεις το κλασικό “σε μένα δουλεύει”
- Το περιβάλλον σου είναι ίδιο παντού
Τι Είναι ένα Container;
Ένα container είναι μια ελαφριά, απομονωμένη μονάδα εκτέλεσης εφαρμογής.
- Δεν είναι Virtual Machine.
- Δεν εγκαθιστάς ολόκληρο λειτουργικό σύστημα.
- Είναι μόνο η εφαρμογή που τρέχει απομονωμένα από το υπόλοιπο σύστημα.
Γιατί το Χρειάζεσαι;
Σταθερό Περιβάλλον
Το περιβάλλον ανάπτυξης είναι ίδιο για όλους στην ομάδα.
Ευκολία στο Setup
Με ένα docker run μπορείς να σηκώσεις βάση δεδομένων σε δευτερόλεπτα.
Isolation Mode
Κάθε project μπορεί να έχει διαφορετικές εκδόσεις (π.χ. Node 16 και Node 20).
Production Ready
Αυτό που τρέχεις local είναι ακριβώς αυτό που ανεβάζεις σε production.
Εγκατάσταση
Κατέβασε το Docker Desktop από την επίσημη σελίδα:
Εγκατέστησέ το και επιβεβαίωσε ότι δουλεύει:
docker --version
Το Πρώτο μας Container
Ας τρέξουμε ένα έτοιμο container:
docker run hello-world
Βασικές Εντολές
Δες τα Eνεργά containers:
docker ps
Δες Oλα τα containers:
docker ps -a
Δες όλα τα images:
docker images
Σταμάτα ένα container:
docker stop <container_id>
Τι είναι το Dockerfile;
Το Dockerfile είναι ένα αρχείο όπου περιγράφεις πώς θα χτιστεί το image σου. Φαντάσου κάτι σαν το package.json όπου ξέρει τι πακέτα χρειάζεται η εφαρμογή για να τρέξει.
Παράδειγμα για Node.js app:
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
Αν παρατηρήσεις λίγο τη δομή του Dockerfile, θα σου θυμίσει κάτι γνώριμο. Μπορούμε να το παρομοιάσουμε με μια συνταγή μαγειρικής. Κάθε γραμμή περιγράφει ένα συγκεκριμένο βήμα που, υπό φυσιολογικές συνθήκες, θα κάναμε χειροκίνητα για να τρέξουμε μια Node.js εφαρμογή.
Ξεκινάμε από μια “βάση” (το FROM σαν να διαλέγουμε τα βασικά υλικά), ορίζουμε τον χώρο εργασίας, αντιγράφουμε τα αρχεία, εγκαθιστούμε τα dependencies και τέλος δίνουμε την εντολή εκκίνησης. Το Docker απλώς αυτοματοποιεί αυτή τη διαδικασία και τη μετατρέπει σε επαναλαμβανόμενο, προβλέψιμο αποτέλεσμα.
Μετά χτίζουμε το image:
docker build -t my-app .
Έναρξη του Image:
docker run -p 3000:3000 my-app
Τι είναι το Docker Compose;
Το Docker Compose σου επιτρέπει να τρέχεις πολλαπλά services μαζί (π.χ. API + Database).
Παράδειγμα docker-compose.yml:
version: "3"
services:
app:
build: .
ports:
- "3000:3000"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
```
Τρέχεις τα πάντα με:
docker compose up
Συμπέρασμα
Το Docker είναι ένας τρόπος να σκέφτεσαι πιο οργανωμένα το περιβάλλον της εφαρμογής σου. Σου λύνει προβλήματα που ίσως δεν ξέρεις ακόμα ότι έχεις.
Αν είσαι αρχάριος, ξεκίνα απλά:
- Τρέξε έτοιμα containers
- Παίξε με images
- Φτιάξε ένα μικρό Dockerfile
Και σιγά σιγά όλα θα γίνουν ξεκάθαρα.
Βοήθεια
Aν χρειαστείς βοήθεια σε κάτι, στείλε μου ενα mail στο support@nastasa.gr και με την πρώτη ευκαιρία θα το λύσουμε μαζί. Και μην ξεχνάς, αν δεν λερώσεις τα χέρια δεν θα μάθεις 😜.
Last modified: 18 Mar 2026