You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

16 lines
3.0 KiB

\subsubsection{Docker} \label{subsection:4-2-1-2-docker}
\logo{chapter-4/4.2.docker-logo}{Docker logo}
Το Docker\footnote{\url{https://www.docker.com/}} αποτελεί μία πλατφόρμα η οποία παρέχει λογισμικό εικονοποίησης (virtualization) στο επίπεδο του λειτουργικού συστήματος, καθώς και ολοκληρωμένα συστήματα διαμοιρασμού και εκτέλεσης των παραγόμενων εικόνων.
Δίνει τη δυνατότητα σύνθεσης εικονικών περιβαλλόντων λειτουργικού συστήματος, τα οποία ονομάζονται εικόνες (images). Μέσα στις εικόνες είναι δυνατή η εκτέλεση προγραμμάτων σε ασφαλή, απομονωμένα και προβλέψιμα περιβάλλοντα, τα οποία εγγυούνται τις ίδιες συνθήκες εκτέλεσης παντού. Έτσι, οι προγραμματιστές δε χρειάζεται να ανησυχούν για το περιβάλλον εκτέλεσης του κώδικα και την ρύθμιση των παραμέτρων σε κάθε ξεχωριστή εγκατάσταση.
Ταυτόχρονα, η πλατφόρμα του Docker παρέχει συστήματα και τυποποιημένες μεθόδους για το πακετάρισμα των εικόνων, τη μεταφόρτωση και την εκτέλεσή τους σε απομακρυσμένα συστήματα. Με αυτόν τον τρόπο αποτελεί πολύτιμο εργαλείο, το οποίο έχει γίνει το στάνταρ στη βιομηχανία λογισμικού για τον διαμοιρασμό και την εγκατάσταση ολοκληρωμένων εφαρμογών σε περιβάλλοντα δοκιμής (staging environments) και παραγωγής (production environments).
Τέλος, η λειτουργία τοπικής εκτέλεσης των εικόνων στο σύστημα ανάπτυξης του κώδικα προσφέρει τη δυνατότητα τοπικού ελέγχου (testing) και αποσφαλμάτωσης (debug), σε ένα περιβάλλον ίδιο με αυτό της εκτέλεσης. Αυτό είναι εξαιρετικά σημαντικό, επειδή αποκλείει τυχούσες μεταβολές στην πορεία εκτέλεσης του προγράμματος που μπορεί να προέκυπταν από την εκτέλεση σε ένα διαφορετικό περιβάλλον.
% TODO: example citations
% Merkel, Dirk. “Docker: Lightweight Linux Containers for Consistent Development and Deployment.” Linux Journal, vol. 2014, no. 239, 2014, p. 2.
% Anderson, Charles. “Docker [Software Engineering].” IEEE Software, vol. 32, no. 3, 2015.