Docker
Το Docker είναι μια πλατφόρμα ανοικτού κώδικα που χρησιμοποιείται για την αυτοματοποίηση, την ανάπτυξη και την εκτέλεση εφαρμογών μέσα σε περιβάλλοντα περιορισμένων πόρων, γνωστά ως “containers”.
Η λογική του Docker, είναι ότι σηκώνουμε ένα container για κάθε service που θέλουμε.
Docker Image
Το Docker Image αποτελεί ένα αρχείο που περιλαμβάνει τις απαραίτητες οδηγίες για τη δημιουργία ενός container.
Βασικές εντολές διαχείρισης image
Για να δούμε τώρα πόσα image βρίσκονται στον υπολογιστή μας.
[grcodeclub@linux] $ | docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 4 months ago 13.3kBΓια να κατεβάσουμε λοιπόν ένα image (π.χ. ubuntu)
[grcodeclub@linux] $ | docker pull ubuntu:20.04Για να διαγράψουμε ένα image με βάση το ID
[grcodeclub@linux] $ | docker rmi bf756fb1ae65Αν υπάρχουν περισσότερα από ένα image με το ίδιο ID έχουμε στο σύστημά.
[grcodeclub@linux] $ | docker rmi -f bf756fb1ae65Για να διαγράψουμε τέλος όλα τα αχρησιμοποίητα image.
[grcodeclub@linux] $ | docker image pruneContainer
Ένα Docker Container χρησιμοποιεί το λειτουργικό και τον πυρήνα του host καθως δεν έχει δικό του πυρήνα. Με αποτέλεσμα να είναι πολύ ποιο ελαφρύ και να ξοδεύει μόνο τα αναγκαία resources, για να τρέξουν τα services που θέλει.
Κάθε container είναι πλήρως απομονωμένο από το host λειτουργικό και από άλλα containers.
Κάθε container δεν κρατάει δεδομένα μέσα του. Δηλαδή αν τρέχουμε ένα container με mySQL, τα δεδομένα της βάσης θα χαθούν αν κάνουμε restart
Βασικές εντολές διαχείρισης container
Για να δούμε λοιπόν μία γενική εικόνα των container που έχουμε στο σύστημά μας, δίνουμε την εντολή:
[grcodeclub@linux] $ | docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b3a2f0d4e25 nginx:latest "nginx -g 'daemon 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp apache