Δείτε πώς μπορείτε να αποκτήσετε την καλύτερη εμπειρία Docker στα Windows.

Το υποσύστημα Windows για Linux 2 είναι ένα εκπληκτικό εργαλείο στα Windows 10 και 11 και ενσωματώνεται άψογα με το Docker. Ως προγραμματιστές, είναι σημαντικό να κατανοήσετε τι προσφέρει αυτό το λογισμικό και πώς μπορείτε να αξιοποιήσετε στο έπακρο τις ρυθμίσεις του Docker-WSL 2.

Τι είναι το Docker;

Το Docker είναι μια πλατφόρμα ανοιχτού κώδικα που επιτρέπει στους προγραμματιστές να δημιουργούν, να αναπτύσσουν και να εκτελούν αποτελεσματικά τις εφαρμογές τους μέσα σε ένα κοντέινερ. Όλες οι εξαρτήσεις είναι ομαδοποιημένες, ώστε το έργο σας να μπορεί εύκολα να αναπτυχθεί σε οποιοδήποτε περιβάλλον.

Το Docker είναι πολύ δημοφιλές μεταξύ πολλών πλατφορμών μεταφοράς εμπορευματοκιβωτίων επειδή είναι αξιόπιστο, λειτουργικό και εξαιρετικά επεκτάσιμο. Λειτουργεί με τον κινητήρα Docker, ένα απαραίτητο εργαλείο DevOps που παρέχει ένα καθαρό και ελαφρύ περιβάλλον για δοκιμή και ανάπτυξη. Το Docker είναι παρόμοιο με μια εικονική μηχανή, αλλά εικονικοποιεί το λειτουργικό σύστημα και όχι το υποκείμενο υλικό.

instagram viewer

Για τους προγραμματιστές λογισμικού, το Docker απλοποιεί τη ροή εργασίας δημιουργώντας μεμονωμένα κοντέινερ για διαφορετικές μικροϋπηρεσίες που περιλαμβάνουν τις απαραίτητες εξαρτήσεις, βιβλιοθήκες και διαμορφώσεις. Κάθε δοχείο microservice είναι απομονωμένο και μπορεί να κλιμακωθεί ξεχωριστά.

Πώς να χρησιμοποιήσετε το Docker στο WSL 2

Το Docker είναι συμβατό με όλα τα μεγάλα λειτουργικά συστήματα, όπως Windows, macOS και Linux. Εάν χρησιμοποιείτε Windows 10 ή 11, μπορείτε να χρησιμοποιήσετε το Docker μέσω Docker Desktop και ενσωματώστε το με το υποσύστημα Windows για Linux 2 για βελτιωμένη απόδοση. Μπορείτε να κάνετε λήψη του Docker Desktop για Windows από το επίσημη ιστοσελίδα του Docker.

Το Windows Subsystem for Linux (WSL) είναι ένα πολύτιμο χαρακτηριστικό που επιτρέπει στους χρήστες των Windows να εκτελούν διανομές Linux όπως το Ubuntu και το Kali χωρίς να ρυθμίσουν μια εικονική μηχανή ή διπλή εκκίνηση.

Αυτό σημαίνει επίσης ότι Οι χρήστες των Windows μπορούν να χρησιμοποιήσουν απευθείας εργαλεία γραμμής εντολών Linux, εφαρμογές και βοηθητικά προγράμματα χωρίς επιπλέον βήματα εγκατάστασης. Η πιο πρόσφατη έκδοση του WSL, το WSL 2, παρέχει μεγαλύτερη σταθερότητα και έναν αποκλειστικό πυρήνα Linux.

Δεδομένου ότι τα κοντέινερ Docker είναι ισχυρά, μπορείτε ακόμη και να τα διαμορφώσετε ώστε να φιλοξενούν τον διακομιστή σας. Τα κοντέινερ nginx docker χρησιμοποιούνται συνήθως ως διακομιστές ιστού. Επιπλέον, μπορείτε να χρησιμοποιήσετε το Docker με πολλούς άλλους τρόπους:

  • Εκτελέστε εύκολα διανομές Linux
  • Ρυθμίστε έναν διακομιστή ιστού για σκοπούς εκμάθησης ή δοκιμής
  • Φορητές εφαρμογές ανάπτυξης
  • Συνδυάστε την εφαρμογή σε ένα μόνο αρχείο εικόνας
  • Απλοποιημένος αγωγός CI/CD

Πρέπει να εξοικειωθείτε με τις βέλτιστες πρακτικές για τη χρήση του Docker with Windows Subsystem for Linux 2, όπως θα κάνατε με οποιαδήποτε άλλη πλατφόρμα ή εργαλείο. Ως προγραμματιστής, μπορώ να πω από προσωπική εμπειρία ότι θα γίνετε πολύ πιο παραγωγικοί και αποτελεσματικοί μόλις ενσωματώσετε τις παρακάτω συμβουλές στη ροή εργασίας σας.

1. Ενσωματώστε τον κώδικα VS με το WSL 2

Το Visual Studio Code είναι ένα δημοφιλές IDE που αγαπήθηκε λόγω των απίστευτων χαρακτηριστικών, της κοινότητας και των επεκτάσεών του. Ως προγραμματιστής, η δυνατότητα χρήσης Visual Studio Code για ανάπτυξη εφαρμογών σε πλατφόρμα Windows ενώ Επίσης, η εκτέλεση αυτών των εφαρμογών σε πυρήνα Linux είναι απίστευτα συμφέρουσα και σχεδόν απίστευτη χαρακτηριστικό.

Όταν ενσωματώνετε τον κώδικα VS στο υποσύστημα Windows για Linux, μπορείτε να επωφεληθείτε από τον εξειδικευμένο πυρήνα του Linux για να βελτιώσετε τη συμβατότητα μεταξύ πλατφορμών. Μπορείτε να βελτιώσετε περαιτέρω τη ροή εργασίας σας χρησιμοποιώντας το ενσωματωμένο τερματικό εντός του κώδικα VS με το WSL 2.

Προς την ρυθμίστε τον κώδικα VS με το WSL 2 στα Windows, μπορείτε να διαμορφώσετε το WSL επέκταση από το VS Code Marketplace και ξεκινήστε τα πράγματα.

2. Χρησιμοποιήστε το σύστημα αρχείων WSL 2

Για να τρέξετε σωστά τα κοντέινερ Docker, είναι ζωτικής σημασίας να βασίζεστε στο σύστημα αρχείων της διανομής σας WSL 2 και να μην εξαρτάστε σε μεγάλο βαθμό από το εγγενές σύστημα αρχείων των Windows. Κατά τη διάρκεια της εμπειρίας μου από την εργασία με κοντέινερ Docker στο WSL 2, ανακάλυψα ότι είναι καλύτερο να αποθηκεύετε τα αρχεία του έργου σας σε WSL.

3. Χρησιμοποιήστε εγγενή σενάρια Linux

Πολλά έργα με κοντέινερ στα οποία θα εργαστείτε πιθανότατα θα συνοδεύονται από σενάρια για αυτοματοποίηση στο Linux. Συνήθως, αυτά τα σενάρια αναπτύσσονται πρώτα για Linux και οι προγραμματιστές των Windows δεν αποτελούν προτεραιότητα.

Με το WSL 2, ολόκληρη η ομάδα σας μπορεί να χρησιμοποιήσει τα ίδια σενάρια αυτοματισμού Linux και δεν χρειάζεται να ανησυχείτε για τη διατήρηση σεναρίων αυτοματισμού συμβατών με Windows για την ομάδα σας.

4. Διαμορφώστε το BuildKit για βελτιωμένη ασφάλεια και απόδοση

Το BuildKit είναι ένα κιτ εργαλείων ανοιχτού κώδικα που βελτιώνει την παραδοσιακή διαδικασία κατασκευής Docker όσον αφορά την απόδοση και την ασφάλεια. είναι άμεσα ενσωματωμένο στο Docker, επομένως δεν χρειάζεται να το εγκαταστήσετε ξεχωριστά.

Όταν ενεργοποιείτε το BuildKit από προεπιλογή, διασφαλίζετε ότι τα κοντέινερ σας κατασκευάζονται με την εργαλειοθήκη BuildKit, παρέχοντάς σας καλύτερη ασφάλεια, συγχρονισμό, ευελιξία και αποθήκευση στην κρυφή μνήμη.

Για να ενεργοποιήσετε το BuildKit από προεπιλογή, θα πρέπει να κάνετε τις ακόλουθες αλλαγές στο αρχείο διαμόρφωσης ~/.profile:

εξαγωγή DOCKER_BUILDKIT=1.

5. Ρύθμιση ορίων πόρων

Όταν ενσωματώνετε το backend WSL 2 με το Docker Desktop, δίνετε στο Docker πρόσβαση σε όλους τους πόρους της CPU. Κάτι τέτοιο συμβάλλει στη βελτίωση της απόδοσης για κοντέινερ που έχουν μεγάλο όγκο πόρων.

Ωστόσο, σε ορισμένες περιπτώσεις, ένα κοντέινερ μπορεί να εκχωρήσει πολλή πλεονάζουσα μνήμη, προκαλώντας τη διακοπή λειτουργίας κρίσιμων διεργασιών του λειτουργικού συστήματος. Είναι πιο πιθανό να το αντιμετωπίσετε αυτό όταν χρησιμοποιείτε κοντέινερ βάσης δεδομένων ή μια μικρουπηρεσία προσωρινής αποθήκευσης.

Ευτυχώς, μπορείτε να διαμορφώσετε τα κοντέινερ Docker για να περιορίσετε τη μνήμη του συστήματος και τη χρήση της CPU. Θα πρέπει πάντα να είστε προσεκτικοί κατά τη διαμόρφωση της μνήμης του συστήματος, ακόμη και ένα μικρό λάθος μπορεί να έχει σημαντικές συνέπειες. Μπορείτε να ανατρέξετε στο επίσημη τεκμηρίωση Docker για έναν πιο λεπτομερή οδηγό σχετικά με τον περιορισμό της μνήμης και των πόρων CPU που καταναλώνονται από ένα κοντέινερ Docker.

6. Ανάκτηση προσωρινής μνήμης

Εάν εκτελείτε ένα κοντέινερ Docker στο WSL 2, η μνήμη του θα πρέπει να ελευθερωθεί μόλις τερματιστεί το κοντέινερ. Δυστυχώς, ο πυρήνας του λειτουργικού συστήματος τείνει να διατηρεί δεδομένα στην κρυφή μνήμη. Αυτό σημαίνει ότι η αποτελεσματική μνήμη που ανακτάται από το WSL 2 δεν θα είναι επαρκής.

Μπορείτε να ανακτήσετε όλη τη μνήμη που χρησιμοποιείται άσκοπα ως προσωρινή μνήμη εκτελώντας την ακόλουθη εντολή μέσω root στο WSL 2:

ηχώ 1 > /proc/sys/vm/drop_caches

Γίνετε εξυπνότεροι με το WSL 2

Το WSL 2 είναι η καλύτερη δυνατότητα για προγραμματιστές που βασίζονται σε Windows, αλλάζοντας εντελώς τον τρόπο με τον οποίο οι προγραμματιστές χρησιμοποιούν το Docker. Οι προγραμματιστές πρέπει να κατανοήσουν τις βέλτιστες πρακτικές για τη χρήση του Docker με WSL για τη βελτίωση της απόδοσης, της ασφάλειας και της ευελιξίας της ροής εργασίας.