Docker Για Αρχάριους

3 min read
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 από την επίσημη σελίδα:

👉 https://www.docker.com/

Εγκατέστησέ το και επιβεβαίωσε ότι δουλεύει:

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 και με την πρώτη ευκαιρία θα το λύσουμε μαζί. Και μην ξεχνάς, αν δεν λερώσεις τα χέρια δεν θα μάθεις 😜.

Suggest an edit

Last modified: 18 Mar 2026