Οι περισσότεροι άνθρωποι που θέλουν να χρησιμοποιήσουν το Linux παράλληλα με τα Windows ή MacOs πηγαίνουν κατευθείαν για την κλασική λύση: διπλή εκκίνηση. Έτσι, χαράζετε ένα διαμέρισμα, εγκαταστήστε το Linux και επανεκκινήστε όποτε το χρειάζεστε. Έχω βρει έναν καλύτερο τρόπο: κρατώ το Linux μέσα σε ένα δοχείο Docker. Δεν υπάρχει πλέον tinkering με μενού εκκίνησης ή αλλαγή μεγέθους.
1
Τι είναι το Docker και γιατί τρέχετε το Linux σε ένα δοχείο Docker;
Το Docker είναι μια πλατφόρμα που συσκευάζει εφαρμογές και τις εξαρτήσεις τους σε ένα δοχείο. Τα δοχεία είναι αυτόνομα, εκτελέσιμα πακέτα που περιλαμβάνουν όλα όσα απαιτούνται για την εκτέλεση της εφαρμογής, όπως ο κώδικας, ο χρόνος εκτέλεσης, τα εργαλεία συστήματος και οι ρυθμίσεις. Εν ολίγοις, ανεξάρτητα από τις ανάγκες της εφαρμογής είναι συνδεδεμένο μέσα στο δοχείο. Μόλις εγκατασταθεί το Docker σε ένα σύστημα, μπορείτε να εκτελέσετε το δοχείο σας αμέσως.
Λοιπόν, ποιο είναι το όφελος από αυτό; Φανταστείτε να εκτελείτε την αίτησή σας σε άλλο υπολογιστή – λέει, ο φίλος σας. Δεν χρειάζεται πλέον να αντιμετωπίζετε το συνηθισμένο πρόβλημα: “Αλλά λειτουργούσε τέλεια στο μηχάνημά μου!” Με το Docker, το δοχείο θα λειτουργεί σταθερά παντού.
Γιατί να χρησιμοποιήσετε το Docker για να εκτελέσετε το Linux;
Εάν κάποιος θέλει να τρέξει το Linux ενώ το τρέχον λειτουργικό τους λειτουργικό σύστημα είναι Windows ή MacOS, η συνηθισμένη προσέγγιση είναι διπλή εκκίνηση. Αυτό σημαίνει διαχωρισμό του δίσκου, εγκατάσταση του Linux σε αυτό, κλείνοντας τον υπολογιστή σας και, στη συνέχεια, επιλέγοντας το Linux από το μενού εκκίνησης. Μόνο τότε το Linux εκκινεί.
Αυτός ο τρόπος λειτουργίας του Linux δεν είναι μόνο κουραστικός. Έρχεται επίσης με ορισμένους κινδύνους, όπως πιθανά ζητήματα bootloader, σφάλματα διαχωρισμού ή ακόμα και απώλεια δεδομένων εάν τα πράγματα πάνε στραβά. Υπάρχουν πολλά πράγματα που πρέπει να θυμάστε πριν από τη διπλή εκκίνηση Linux και Windows.
Ένας άλλος παράγοντας που πρέπει να ληφθεί υπόψη είναι η ροή εργασίας. Τι γίνεται αν είστε στη μέση κάτι σημαντικό και δεν θέλετε να επανεκκινήσετε τον υπολογιστή σας; Ή τι εάν, ενώ χρησιμοποιείτε το Linux, χρειάζεστε ξαφνικά μια εφαρμογή που είναι διαθέσιμη μόνο σε macOS; Τώρα τι;
Αυτό είναι όπου ο Docker έρχεται στη διάσωση. Με το Docker, δεν χρειάζεται να περάσετε από την ταλαιπωρία της διπλής εκκίνησης. Απλώς ανοίξτε την εφαρμογή Docker, ξεκινήστε το δοχείο σας και έχετε το Linux να τρέχει δίπλα -δίπλα με το υπάρχον λειτουργικό σας λειτουργικό σύστημα. Δεν έχει σημασία αν πρόκειται για παράθυρα ή macOS.
Αυτή είναι η ομορφιά και η απλότητα που φέρνει το Docker. Εάν εξακολουθείτε να μην είστε πεπεισμένοι ότι ο Docker είναι ιδανικός για το Linux, επιτρέψτε μου να σας πω περισσότερα.
2
Μπορώ να χρησιμοποιήσω το Linux στο περιεχόμενο της καρδιάς μου
Τι είναι τόσο ξεχωριστό για το Linux, ούτως ή άλλως; Οι άνθρωποι, συμπεριλαμβανομένου και εμού, το αγαπούν για πολλούς λόγους, όπως η φύση του ανοιχτού κώδικα, η προσαρμογή και η κοινότητα.
Στο Linux, μπορώ να διαλέξω ακριβώς ποια εργαλεία θέλω, να τσιμπήσω τη συμπεριφορά του συστήματος μέχρι τις μικρότερες λεπτομέρειες και να αυτοματοποιήσω σχεδόν οτιδήποτε. Ο Docker το κάνει ακόμα καλύτερο.
Χρησιμοποιώντας το Docker, μπορώ να γυρίσω κάθε διανομή που θέλω. Είτε πρόκειται για Ubuntu, Fedora, Arch, Alpine και εναλλαγή μεταξύ τους χωρίς να επανεγκαταστήσετε ή να κάνετε επανεκκίνηση. Ή μπορώ να σπάσω τα πράγματα, να πειραματιστώ άγρια, ενώ το κύριο λειτουργικό μου λειτουργικό σύστημα παραμένει ασφαλές και πάντα διαθέσιμο για χρήση. Και αν τα πράγματα πάνε πολύ μακριά, και σπάζω κάτι στο Linux, μπορώ να ξεκινήσω φρέσκο μέσα σε λίγα λεπτά. Απλά αφαιρέστε το δοχείο, και μέσα σε λίγα δευτερόλεπτα, ένα νέο δοχείο είναι σε λειτουργία.
Μόλις τον περασμένο μήνα, γύρισα ένα δοχείο αψίδας για να δω πόσο μακριά θα μπορούσα να το απογυμνωθεί, ενώ εξακολουθούσε να τρέχει μια γραφική επιφάνεια εργασίας. Αυτό δεν πήγε καλά. Έτσι, μόλις πληκτρολογήσαμε στο τερματικό: “Docker RM Arch-zighweight”. Και το δοχείο ήταν εκτός ύπαρξης σε δευτερόλεπτα. Δεν έπρεπε να κάνω καθαρισμό, να μην χυθείς χώρος και να μην είναι χαμένος χρόνος. Αυτό είναι το είδος παιχνιδιού πειραματισμού που δεν θα τολμούσα ποτέ να προσπαθήσω σε μια ρύθμιση διπλής εκκίνησης, καθώς η επανεγκατάσταση του Linux θα με πάρει πάνω από μία ώρα.
Προσθέτοντας σε αυτό, θα μπορούσατε να εκτελέσετε τρεις ή ακόμα και τέσσερις διανομές ταυτόχρονα, ενώ ψωνίζετε στον ιστότοπο του Αμαζονίου στο πρόγραμμα περιήγησης σαφάρι.
3
Μπορώ να αποκτήσω πρόσβαση στο Linux στο φορητό υπολογιστή μου
Αυτό είναι ένα από τα αγαπημένα μου πράγματα για τη λειτουργία του Linux στο Docker. Ενώ το τρέχω στον κύριο υπολογιστή μου, μπορώ να το χρησιμοποιήσω από το φορητό υπολογιστή μου οπουδήποτε στο σπίτι μου. Δεδομένου ότι τα δοχεία Docker μπορούν να εκθέσουν υπηρεσίες μέσω του δικτύου, μπορώ να ssh στο περιβάλλον μου από τον καναπέ, την κουζίνα ή ακόμα και στο μπαλκόνι με ένα φλιτζάνι καφέ.
Είναι σαν να έχεις έναν προσωπικό διακομιστή σύννεφων που ζει ακριβώς μέσα στον κύριο υπολογιστή μου. Όλη η βαριά ανύψωση, όπως ο κώδικας σύνταξης, τα δεδομένα επεξεργασίας, συμβαίνει στην κύρια μηχανή μου, αλλά μπορώ να το ελέγξω εξ ολοκλήρου από το ελαφρύ φορητό υπολογιστή μου. Επίσης, με το X11 προώθηση ή απομακρυσμένη επιφάνεια εργασίας όπως το VNC ή το RDP, μπορώ να αποκτήσω πρόσβαση σε μια πλήρη γραφική επιφάνεια εργασίας Linux στο φορητό υπολογιστή μου.
4
Η απομόνωση της ροής εργασίας είναι σημαντική για μένα
Επιτρέψτε μου να είμαι ειλικρινής: Είμαι κάποιος που αποσπάται εύκολα. Επειδή το ξέρω για τον εαυτό μου, ο Docker με βοήθησε να λύσω μέρος του προβλήματος δημιουργώντας απομονωμένα περιβάλλοντα Linux για διαφορετικές ροές εργασίας.
Αντί να έχω μια βρώμικη και υπερφορτωμένη εγκατάσταση Linux, έχω ξεχωριστά δοχεία για συγκεκριμένους σκοπούς. Για παράδειγμα:
-
Ανάπτυξη: Ένα δοχείο με τα προτιμώμενα IDE, μεταγλωττιστές μου, βάσεις δεδομένων και εργαλεία εντοπισμού σφαλμάτων.
-
Γράφοντας: Μια απλή επιφάνεια εργασίας Linux με έναν επεξεργαστή κειμένου, ένα πρόγραμμα περιήγησης και τα εργαλεία γραφής μου.
-
Δοκιμή: Πρόκειται για ένα δοχείο “throwaway” όπου εγκαθιστώ πειραματικά πακέτα, σπάζω τα πράγματα και επαναφέρω χωρίς να ανησυχώ.
Αυτή η απομόνωση της ροής εργασίας διατηρεί το περιβάλλον μου καθαρά και δημιουργεί μια αίσθηση απομόνωσης. Όταν ανοίγω το δοχείο γραφής μου, είμαι γραπτώς. Όταν ανοίγω το δοχείο ανάπτυξης, είμαι σε λειτουργία κωδικοποίησης. Ο Docker δεν μου δίνει μόνο το Linux, μου δίνει τα διανοητικά όρια που πρέπει να μείνω σε καλό δρόμο.
Η κεντρική ιδέα για την αναδημιουργία αυτού του είδους ρύθμισης είναι να έχουμε ένα μικρό σύνολο αρχείων docker-compose.yml για κάθε ροή εργασίας. Ο καθένας ορίζει:
-
Η βασική εικόνα Linux θέλω
-
Οποιαδήποτε προεγκατεστημένα πακέτα ή εφαρμογές
-
Τόμοι για κοινόχρηστα αρχεία (έτσι μπορώ να αποκτήσω πρόσβαση στη δουλειά μου από τον κεντρικό υπολογιστή)
-
Θύρες για οποιονδήποτε τοπικό διακομιστή θα μπορούσα να τρέξω
Στη συνέχεια, η εκκίνηση του περιβάλλοντος μου είναι τόσο απλό όσο:
cd ~/docker-envs/writing
docker compose up -dcd ~/docker-envs/dev
docker compose up -d
Μέσα σε λίγα δευτερόλεπτα, είμαι μέσα σε ένα καθαρό, προ-διαμορφωμένο χώρο εργασίας Linux που είναι πανομοιότυπος κάθε φορά. Όταν τελείωσα να δουλεύω, μπορώ να το σταματήσω και να σηκώσω ακριβώς εκεί που έφυγα την επόμενη φορά. Χωρίς ακαταστασία, καμία διασταυρούμενη μόλυνση μεταξύ των ροών εργασίας.
5
Η ρύθμιση του Linux είναι πολύ εύκολη
Τέλος, εάν σμικρύνουμε την καθαρή παραγωγικότητα, υπάρχουν ορισμένα άγνωστα προνόμια του Linux στο Docker που απλά κάνουν τη χρήση και τη διαχείριση του Linux τόσο πολύ πιο εύκολη.
-
Χωρίς διαχωρισμός δίσκου: Δεν χρειάζεται να δημιουργώ χειροκίνητα διαμερίσματα, να ασχολούμαι με μορφές διαμερισμάτων ή να διακινδυνεύσω να σκουπίσω σημαντικά δεδομένα. Όλα ζουν τακτοποιημένα μέσα σε δοχεία και εικόνες.
-
Ασφάλεια bootloader: Δεν υπάρχουν μενού grub, χωρίς bootloader, και όχι “Γιατί δεν θα ξεκινήσει ο υπολογιστής μου;” Στιγμές. Οι μπότες του οικοδεσπότη μου κανονικά κάθε φορά, με ένα πλήρες περιβάλλον Linux απλά ένα δοχείο μακριά.
-
Απομόνωση υποδοχής: Μπορώ να χρησιμοποιήσω δοχεία για να δημιουργήσω απομονωμένα περιβάλλοντα για συγκεκριμένες εργασίες. Για παράδειγμα, μπορώ να γυρίσω ένα δοχείο με το δικό του πρόγραμμα περιήγησης και αρχεία. Δεδομένου ότι το πρόγραμμα περιήγησής του, οι εφαρμογές και τα αρχεία απομονώνονται από τον κεντρικό υπολογιστή και καταστρέφονται όταν τελειώσει η συνεδρία, αυτό αποτρέπει την επίμονη παρακολούθηση μέσω cookies και τοπικών δεδομένων. Όμως, είναι σημαντικό να θυμόμαστε ότι αυτή η ρύθμιση δεν παρέχει ιδιωτική ζωή στο δίκτυο. Για αυτό, χρειάζεστε ένα VPN ή TOR για να καλύψετε την επισκεψιμότητά σας.
-
Στιγμιότυπα και ανάκαμψη: Πριν κάνω μεγάλες αλλαγές, μπορώ να ξανακοιτάξω την κατάσταση του δοχείου. Αν κάτι σπάσει, απλά στρέφομαι. Χωρίς επανεγκαταστάσεις, χωρίς πόνο.
Αυτές οι μικρές ευκολίες μπορεί να μην ακούγονται δραματικές, αλλά μαζί σημαίνουν πολλά. Ξοδεύω λιγότερο χρόνο για τη δημιουργία των προβλημάτων και για τον καθορισμό των προβλημάτων και περισσότερο χρόνο χρησιμοποιώντας το Linux.
Η διπλή εκκίνηση εξακολουθεί να έχει τη θέση του. Εάν χρειάζεστε πλήρη πρόσβαση υλικού ή θέλετε το Linux ως το κύριο λειτουργικό σας σύστημα, είναι μια σταθερή επιλογή. Έχω επίσης εγκαταστήσει το Linux παράλληλα με τα Windows στον υπολογιστή μου. Αλλά σπάνια εκκινώ κατευθείαν στο Linux πια. Αντ ‘αυτού, τρέχω το Linux σε ένα δοχείο Docker.
Το πιο σημαντικό, ο Docker κάνει το Linux κάτι που χρησιμοποιώ κάθε μέρα, και παντού, και όχι μόνο κάτι που εκκινώ σε μια φορά σε μια στιγμή. Και μόλις βιώσετε αυτό το επίπεδο προσβασιμότητας, είναι δύσκολο να επιστρέψετε στο Fiddling με διαμερίσματα και να επανεκκινήσετε μενού.
Έτσι, αν έχετε διστάσει να δοκιμάσετε το Linux επειδή δεν θέλετε να χάσετε με την τρέχουσα ρύθμισή σας, ή αν έχετε κουραστεί από την τριβή της διπλής εκκίνησης-ίσως ήρθε η ώρα να δώσετε στο Linux στο Docker μια βολή.