Μια μικρή εισαγωγή στο Docker ξεκινάει πάντα από ένα νέο λήμμα σε γουίκι... τον σύγχρονο τρόπο να μοιράζεσαι γνώση. Όσοι οι πιστοί προσέλθετε :-) ======Καλωσορίσατε στo Docker!====== To wiki αυτό έγινε για να προσφέρει υποστήριξη για το Docker. Παρακάτω θα βρείτε τις απαραίτητες πληροφορίες που χρειάζεστε για να ξεκινήσετε να παίζεται με αυτό το πολύ χρήσιμο εργαλείο. =====Εισαγωγή===== ====Τι είναι το Docker==== «Το Docker είναι μία ανοιχτού κώδικα πλατφόρμα η οποία αυτόματοποιεί την ανάπτυξη εφαρμογών με τη χρήση πακέτων ονόματι container παρέχοντας ένα ακόμη επίπεδο αφαίρεσης και αυτοματοποίησης στην εικονικοποίηση(virtualization) σε επίπεδο λειτουργικού συστήματος.» Με πιο απλά λόγια το Docker είναι μία εφαρμογή - ή καλύτερα ένα εικονικό περιβάλλον - το οποίο επιτρέπει στους προγραμματιστές να αναπτύσσουν και να ελέγχουν εύκολα τα προγράμματά τους σε ένα εικονικό πακέτο/χώρο (που το docker ονομάζει container). Ακόμη πιο συνοπτικά επιτρέπει στον προγραμματιστή να εξετάζει τις εφαρμογές του σε ένα εικονικό περιβάλλον οποιουδήποτε λειτουργικού συστήματος. Αυτό που κάνει το docker να διαφέρει από τα άλλα εικονικά συστήματα(virtual machines) είναι ότι χρησιμοποιεί όλους τους πόρους του υπολογιστή και δεσμεύει μνήμη όταν χρειάζεται, κάνοντας το πιο αποδοτικό, αφού γίνεται καλύτερη διαχείσηση της μνήνης, σε αντίθεση με τα εικονικά συστήματα που δεσμεύουν συγκεκριμένη μνήμη και πόρους είτε τη χρειάζονται είτε όχι. ====Τι είναι το Container==== Όπως αναφέρθηκε και παραπάνω συνήθως για τον έλεγχο συμβατότητας ενός προγράμματος με ένα λειτουργικό σύστημα χρησιμοποιείται κάποιο εικονικό μηχάνημα/σύστημα (virtual machine - VM). Ένα VM δημιουργεί ένα απομονωμένο λειτουργικό σύστημα - που συνήθως ονομάζεται guest - το οποίο χρησιμοποιεί ένα μεγάλο μέρος από τους πόρους του υπολογιστή. Τα Containers προσεγγίζουν το πρόβλημα διαφορερτικά. Χρησιμοποιούν τους χαμηλού επιπέδου πόρους του λειτουργικού συστήματος, για να παρέχουν όσο το δυνατόν περισσότερη απομόνωση όσο ένα σύστημα VM κερδίζοντας έτσι υπολογιστή δυνατότητα. Πιο απλά, το docker δημιουργεί έναν φάκελο, ο οποίος αντιπροσωπεύει το εκάστοται σύστημα και όλες οι ενέργειες/πειράματα που θα εκτελέσει ο προγραμματιστής θα επηρεάσουν μόνο το περιεχόμενο του αντίστοιχου φακέλου. =====Εγκατάσταση του Docker στα Windows η MacOS===== Για την εγκατάσταση του Docker σε Window ή MacOS ο χρήστης χρειάζεται απλώς να ανατρέξει στην ιστοσελίδα του Docker και να κατεβάσει το εκτελέσιμο που αντιστοιχεί στο λειτουργικό του σύστημα ([[https://www.docker.com/products/docker-desktop]]). Με την εγκατάσταση του εκτελέσιμο, εγκαθίσταται αυτόματα και το επιπρόσθετο εργαλείο ονόματι **docker-compose**, το οποίο είναι πολύ χρήσιμο. =====Εγκατάσταση του Docker σε Linux λειτουργικό σύστημα===== Η εγκατάσταση του Docker σε λειτουργικό σύστημα Linux γίνεται με τη επιλογή του απαραίτητου πακέτου από κάποιο αποθετήριο. ====Εγκατάσταση σε Ubuntu:==== ===Ενημέρωση συστήματος (προαιρετικό βήμα)=== Πριν από την εγκατάσταση κάθε πακέτουσυνιστάται να γίνεται ενημέρωση της λίστα των πακέτων και αναβάθμιση του συστήματος. Αυτό επιτυγχάνεται με την εκτέλεση των παρακάτω εντολών: ~$ sudo apt-get update && sudo apt-get upgrade ===Εγκατάσταση βοηθητικών πακέτων=== Για να λειτουργήσει σωστά το Docker χρειάζεται να γίνει εγκατάσταση κάποιων βοηθητικών πακέτων. Τα πακέτα αυτά μπορεί να είναι ήδη εγκατεστημένα στο σύστημα, ως βοηθητικά πακέτα άλλων εφαρμογών, όμως είναι συνετή η εκτέλεση της παρακάτω εντολής: ~$ sudo apt-get install curl apt-transport-https ca-certificates software-properties-common ===Εισαγωγή του αποθετήριου=== Πριν την εγκατάσταση του πακέτου, πρέπει να γίνει προσθήκη του αποθετήριου στη λίστα αποθετήριων του συστήματος. Για να γίνει αυτό, πρέπει πρώτα να αναγνωρισθεί από το σύστημα το gpg κλειδί με την εντολή: ~$ curl fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt key add - και στη συνέχεια να εισαχθεί το αποθετήριο στη λίστα με την εντολή: ~$ sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs stable)” Τέλος γίνεται ενημέρωση της λίστας αποθετήριων με την εντολή: ~$ sudo apt-get update ===Εγκατάσταση του Docker=== Η εγκατάσταση του Docker γίνεται με την εντολή: ~$ sudo apt-get install docker-ce ===Έλεγχος=== Εαν όλα έχουν πάει καλά, τότε το Docker θα έχει εγκατασταθεί επιτυχώς και το docker.service θα είναι __ενεργοποιημένο (active)__. Για να ελεχθεί αυτό εκτελείται η παρακάτω εντολή: ~$ sudo systemctl status docker =====Βασικές Εντολές του Docker===== Σε αυτή την ενότητα θα περιγραφούν οι βασικές εντολές του Docker. Η βασική σύνταξη των εντολών είναι η εξής: ~$ sudo docker