window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster υπάρχει ήδη') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Ανώδυνος τρόπος για την WSL 2 με το Docker - The Codest
The Codest
  • Σχετικά με εμάς
  • Υπηρεσίες
    • Ανάπτυξη λογισμικού
      • Ανάπτυξη Frontend
      • Backend Ανάπτυξη
    • Staff Augmentation
      • Frontend Developers
      • Backend Developers
      • Μηχανικοί δεδομένων
      • Μηχανικοί cloud
      • Μηχανικοί QA
      • Άλλα
    • Συμβουλευτική
      • Έλεγχος & Συμβουλευτική
  • Βιομηχανίες
    • Fintech & Τραπεζική
    • E-commerce
    • Adtech
    • Healthtech
    • Κατασκευή
    • Εφοδιαστική
    • Αυτοκίνητο
    • IOT
  • Αξία για
    • CEO
    • CTO
    • Διευθυντής παράδοσης
  • Η ομάδα μας
  • Case Studies
  • Μάθετε πώς
    • Blog
    • Συναντήσεις
    • Διαδικτυακά σεμινάρια
    • Πόροι
Καριέρα Ελάτε σε επαφή
  • Σχετικά με εμάς
  • Υπηρεσίες
    • Ανάπτυξη λογισμικού
      • Ανάπτυξη Frontend
      • Backend Ανάπτυξη
    • Staff Augmentation
      • Frontend Developers
      • Backend Developers
      • Μηχανικοί δεδομένων
      • Μηχανικοί cloud
      • Μηχανικοί QA
      • Άλλα
    • Συμβουλευτική
      • Έλεγχος & Συμβουλευτική
  • Αξία για
    • CEO
    • CTO
    • Διευθυντής παράδοσης
  • Η ομάδα μας
  • Case Studies
  • Μάθετε πώς
    • Blog
    • Συναντήσεις
    • Διαδικτυακά σεμινάρια
    • Πόροι
Καριέρα Ελάτε σε επαφή
Πίσω βέλος GO BACK
2020-01-21
Ανάπτυξη λογισμικού

Ανώδυνος τρόπος για την WSL 2 με το Docker

Lukasz Kolko

Με την εισαγωγή του Υποσυστήματος Windows για Linux (WSL), η Microsoft έδωσε την ευκαιρία στους προγραμματιστές να τρέξουν ένα περιβάλλον GNU/Linux απευθείας στα Windows, χωρίς τροποποιήσεις, χωρίς την επιβάρυνση μιας εικονικής μηχανής. Αυτή είναι μια εξαιρετική λύση, επειδή πολλοί προγραμματιστές χρησιμοποιούν ένα σύστημα για προγραμματισμό και ένα άλλο για ψυχαγωγία.

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

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

Τι θα κερδίσετε;

- Πραγματικός τελευταίος σταθερός πυρήνας Linux (ρυθμισμένος από τη Microsoft). Το WSL 1 διαθέτει μια συμβατή με το Linux διεπαφή πυρήνα χωρίς τον πυρήνα Linux. κωδικός.

- Αυξημένη απόδοση IO αρχείων. Έως και 20 φορές ταχύτερη σε σύγκριση με το WSL 1 κατά την αποσυσκευασία ενός zipped tarball, περίπου 2-5 φορές ταχύτερη όταν χρησιμοποιείται κλώνος git, εγκατάσταση npm και cmake σε διάφορα έργα.

- Πλήρης συμβατότητα κλήσεων συστήματος. Τα δυαδικά προγράμματα του Linux χρησιμοποιούν κλήσεις συστήματος για την εκτέλεση πολλών λειτουργιών, όπως η πρόσβαση σε αρχεία, η αίτηση μνήμης, η δημιουργία διεργασιών και πολλά άλλα. Ενώ το WSL 1 χρησιμοποιούσε ένα επίπεδο μετάφρασης που κατασκευάστηκε από το WSL ομάδα, το WSL 2 περιλαμβάνει τον δικό του πυρήνα Linux με πλήρη συμβατότητα κλήσεων συστήματος.

- Αρχεία αποθηκευμένα σε μια εγγενή κατάτμηση ext4 σε έναν εικονικό δίσκο.

- Πολύ εύκολος τρόπος ενσωμάτωσης με το Docker.

Νομίζω ότι για τους περισσότερους χρήστες η απόδοση του file IO και η εύκολη ενσωμάτωση του docker ακούγονται ως επαρκείς λόγοι.

Πάμε!

Υποθέτω ότι έχετε την τελευταία σταθερή έκδοση των Windows 10 Pro. Για σήμερα, πρόκειται για την έκδοση 1909.

Ενταχθείτε στους γνώστες των Windows

Επί του παρόντος, το WSL 2 είναι διαθέσιμο μόνο για τα Windows 10 στο αργό δακτύλιο των insiders. Απ' όσο γνωρίζω, η σταθερή έκδοση θα είναι διαθέσιμη τον Μάιο του 2020 (έκδοση 20H1). Το slow ring είναι μια αρκετά ασφαλής λύση για τους χρήστες που θέλουν να έχουν νέα χαρακτηριστικά λίγο νωρίτερα, ήδη προ-δοκιμασμένα από τους χρήστες του fast ring. Ο αργός δακτύλιος λαμβάνει ενημερώσεις συστήματος έως και μία ή δύο φορές το μήνα. Μπορείτε να διαβάσετε σχετικά με τις αλλαγές στην έκδοση των insiders στο έγγραφο της Microsoft με την ονομασία Κόμβος πτήσης.

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

Αναβάθμιση WSL 1 σε WSL 2

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

Καθαρισμός

Αυτό είναι το πιο σημαντικό μέρος για τη σωστή συνεργασία του WSL 2 και του Docker. Μετά την αναβάθμιση στο WSL 2, πολλοί χρήστες προσπαθούν να αναγκάσουν την έκδοση του Docker να συνεργαστεί χωρίς να συνειδητοποιούν ότι η ομάδα του Docker, ειδικά για το WSL 2, έχει ετοιμάσει μια έκδοση που θα κάνει τα πάντα για εμάς. Αυτή είναι η τελευταία έκδοση της έκδοσης Docker Edge (το beta όνομά τους) - "Docker Desktop WSL 2 backend". Αυτή η έκδοση, 2.1.7.0, είναι μια καλά επεξεργασμένη και είναι υποψήφια για την επερχόμενη σταθερή έκδοση.

Οι χρήστες που δεν είχαν το WSL 1 ή μόλις εγκατέστησαν μια νέα έκδοση του WSL 2 είναι τυχεροί και μπορούν να μεταβούν αμέσως στο τελευταίο κεφάλαιο.

Αν δεν έχετε καθαρίσει το Docker σας (καθόλου ή σωστά) και δεν έχετε εγκαταστήσει την κατάλληλη έκδοση του Docker για το WSL 2, μπορεί να αντιμετωπίσετε κάποια κοινά σφάλματα, π.χ, Cannot connect to the Docker daemon at tcp://localhost:2375", "Εκτελείται ο δαίμονας Docker, κ.λπ. Στις περισσότερες περιπτώσεις, θα χάσετε χρόνο αν δεν γνωρίζετε ότι πρέπει να ακολουθήσετε μια νέα προσέγγιση στην προσπάθεια επίλυσης αυτών των σφαλμάτων. Για να το κάνετε αυτό, πρέπει πρώτα να αφαιρέσετε εντελώς το Docker από το WSL και τα Windows, κάτι που δεν είναι προφανές βήμα.

Το πιο συνηθισμένο παράδειγμα ακατάσχετων υπολειμμάτων είναι η παλιά προσέγγιση του Docker για τον ορισμό της μεταβλητής περιβάλλοντος DOCKER_HOST=tcp://localhost:2375 στο πλαίσιο του WSL 1 για συνεργασία με την επιλογή Windows Docker Έκθεση του δαίμονα στο tcp://localhost:2375 χωρίς TLS.

Πώς να αφαιρέσετε εντελώς το Docker από το WSL (Ubuntu);

  1. Ως το επίσημο Docker έγγραφα λένε:

sudo apt-get remove docker docker-engine docker.io containerd runc

Σίγουρα, μπορείτε να προσθέσετε σε αυτόν τον κατάλογο docker-ce και docker-ce-cli.

  1. Προσδιορίστε όλα τα πακέτα docker που έχετε με dpkg -l | grep -i docker και αφαιρέστε εάν υπάρχουν ακόμη.
  2. Αφαιρέστε όλα τα υπολείμματα:
sudo rm -rf /var/lib/docker /etc/docker /etc/apparmor.d/docker /var/run/docker.sock /usr/local/bin/docker-compose /etc/docker

sudo groupdel docker ~/.docker

  1. Αυτό το βήμα είναι για προχωρημένους χρήστες, γι' αυτό να είστε προσεκτικοί. Πιθανώς δεν χρειάζεται να το κάνετε.

Βρείτε όλα docker λέξεις και αφαιρέστε αυτές για τις οποίες είστε σίγουροι.

sudo find / -name "*docker*"

  1. Ελέγξτε το περιεχόμενο όλων των παρακάτω αρχείων για docker περιστατικά όπως π.χ. μεταβλητή περιβάλλοντος DOCKER_HOST=tcp://localhost:2375.

Μπορείτε να επεξεργαστείτε αυτά τα αρχεία με τον επεξεργαστή Nano, nano ~/.bashrc, ή Visual Studio Code, κωδικός ~/.bashrc.

~/.bashrc
~/.bash_aliases
~/.bash_profile
~/.bash_login
~/.profile
/etc/bash.bashrc
/etc/profile

Πώς να αφαιρέσετε εντελώς το Docker από τα Windows;

  1. Απεγκατάσταση με κανονικό τρόπο με τα Windows Εφαρμογές και χαρακτηριστικά πάνελ.
  2. Αφαιρέστε όλα τα παρακάτω εάν υπάρχουν:
C:Program FilesDocker
C:ProgramDataDockerDesktop
C:Users[USERNAME].docker
C:Users[USERNAME]AppDataLocalDocker
C:Users[USERNAME]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker Desktop

Τι ακολουθεί;

Εγκαταστήστε την τελευταία έκδοση του Docker Desktop Edge από εδώ και ακολουθήστε τα βήματα από το επίσημο έγγραφα. Πραγματικά καταλήγει σε μερικά κλικ.

Αν όλα πάνε καλά, θα πρέπει να έχετε την έξοδό σας από το wsl -l -v όπως αυτό:

  ΌΝΟΜΑ ΚΑΤΆΣΤΑΣΗ ΈΚΔΟΣΗ
  Ubuntu-18.04 Τρέχει 2
  docker-desktop Τρέχει 2
  docker-desktop-data Τρέχει 2

Αυτό είναι όλο. Το Docker έχει δημιουργήσει τα δικά του WSL containers docker-desktop και docker-desktop-data. Μερικά από τα διαθέσιμα σεμινάρια ή συμβουλές μπορεί να προκαλέσουν σύγχυση επειδή αυτή τη φορά δεν θα πρέπει να εγκαταστήσετε ή να ρυθμίσετε οτιδήποτε σχετικό με το Docker κάτω από τη διανομή WSL Linux σας. Είναι πολύ σημαντικό να θυμάστε. Μετά τον καθαρισμό, θα πρέπει να λειτουργεί καλά αμέσως.

Επιπλέον...

Η εγκατάσταση του WSL 2 με το Docker μπορεί να είναι μια ανώδυνη διαδικασία με μερικά απλά βήματα. Ξεκινήστε με την ενημέρωση λίστες πακέτων χρησιμοποιώντας την εντολή "sudo apt-get update" για να βεβαιωθείτε ότι έχετε τις τελευταίες πληροφορίες έκδοσης. Επιλύστε τυχόν εξαρτήσεις που λείπουν με το "sudo apt-get install -y build-essential" για μια ομαλή εμπειρία εγκατάστασης. Εγκαταστήστε το Μηχανή Docker με "sudo apt-get install -y docker-engine" για να κατασκευάζετε, να εκτελείτε και να διαχειρίζεστε κοντέινερ χωρίς κόπο. Εκτελέστε το "sudo docker run" ακολουθούμενο από το όνομα της εικόνας για να εκκινήσετε τα κοντέινερ. Για να διατηρήσετε το περιβάλλον σας βελτιστοποιημένο, εκτελείτε περιοδικά το "sudo docker system prune" για να αφαιρέσετε αχρησιμοποίητα κοντέινερ και να ελευθερώσετε χώρο στο δίσκο. Με αυτά τα βήματα, μπορείτε να απολαμβάνετε την απρόσκοπτη ενσωμάτωση του WSL 2 και του Docker για αποδοτική διαχείριση εμπορευματοκιβωτίων στη ροή εργασίας της ανάπτυξής σας.

Σχετικά άρθρα

Ανάπτυξη λογισμικού

Κατασκευάστε μελλοντικά ασφαλείς εφαρμογές Web: γνώσεις από την ομάδα εμπειρογνωμόνων του The Codest

Ανακαλύψτε πώς η The Codest υπερέχει στη δημιουργία κλιμακούμενων, διαδραστικών εφαρμογών ιστού με τεχνολογίες αιχμής, παρέχοντας απρόσκοπτη εμπειρία χρήστη σε όλες τις πλατφόρμες. Μάθετε πώς η τεχνογνωσία μας οδηγεί στον ψηφιακό μετασχηματισμό και την επιχειρηματική...

THECODEST
Ανάπτυξη λογισμικού

Top 10 εταιρείες ανάπτυξης λογισμικού με έδρα τη Λετονία

Μάθετε για τις κορυφαίες εταιρείες ανάπτυξης λογισμικού της Λετονίας και τις καινοτόμες λύσεις τους στο τελευταίο μας άρθρο. Ανακαλύψτε πώς αυτοί οι τεχνολογικοί ηγέτες μπορούν να βοηθήσουν στην ανύψωση της επιχείρησής σας.

thecodest
Λύσεις Enterprise & Scaleups

Βασικά στοιχεία ανάπτυξης λογισμικού Java: Α Guide to Outsourcing Successfully (Οδηγός για την επιτυχή εξωτερική ανάθεση)

Εξερευνήστε αυτόν τον βασικό οδηγό για την επιτυχή ανάπτυξη λογισμικού outsourcing Java για να αυξήσετε την αποδοτικότητα, να αποκτήσετε πρόσβαση στην τεχνογνωσία και να οδηγήσετε την επιτυχία των έργων με The Codest.

thecodest
Ανάπτυξη λογισμικού

Ο απόλυτος οδηγός για το Outsourcing στην Πολωνία

Η έξαρση της outsourcing στην Πολωνία οφείλεται στις οικονομικές, εκπαιδευτικές και τεχνολογικές εξελίξεις, που ευνοούν την ανάπτυξη της πληροφορικής και το φιλικό προς τις επιχειρήσεις κλίμα.

TheCodest
Λύσεις Enterprise & Scaleups

Ο πλήρης οδηγός εργαλείων και τεχνικών ελέγχου πληροφορικής

Οι έλεγχοι ΤΠ διασφαλίζουν ασφαλή, αποτελεσματικά και συμβατά συστήματα. Μάθετε περισσότερα για τη σημασία τους διαβάζοντας ολόκληρο το άρθρο.

The Codest
Jakub Jakubowicz CTO & Συνιδρυτής

Εγγραφείτε στη βάση γνώσεών μας και μείνετε ενήμεροι για την τεχνογνωσία από τον τομέα της πληροφορικής.

    Σχετικά με εμάς

    The Codest - Διεθνής εταιρεία ανάπτυξης λογισμικού με κέντρα τεχνολογίας στην Πολωνία.

    Ηνωμένο Βασίλειο - Έδρα

    • Γραφείο 303B, 182-184 High Street North E6 2JA
      Λονδίνο, Αγγλία

    Πολωνία - Τοπικοί κόμβοι τεχνολογίας

    • Πάρκο γραφείων Fabryczna, Aleja
      Pokoju 18, 31-564 Κρακοβία
    • Πρεσβεία του εγκεφάλου, Konstruktorska
      11, 02-673 Βαρσοβία, Πολωνία

      The Codest

    • Αρχική σελίδα
    • Σχετικά με εμάς
    • Υπηρεσίες
    • Case Studies
    • Μάθετε πώς
    • Καριέρα
    • Λεξικό

      Υπηρεσίες

    • Συμβουλευτική
    • Ανάπτυξη λογισμικού
    • Backend Ανάπτυξη
    • Ανάπτυξη Frontend
    • Staff Augmentation
    • Backend Developers
    • Μηχανικοί cloud
    • Μηχανικοί δεδομένων
    • Άλλα
    • Μηχανικοί QA

      Πόροι

    • Γεγονότα και μύθοι σχετικά με τη συνεργασία με εξωτερικό συνεργάτη ανάπτυξης λογισμικού
    • Από τις ΗΠΑ στην Ευρώπη: Γιατί οι αμερικανικές νεοσύστατες επιχειρήσεις αποφασίζουν να μετεγκατασταθούν στην Ευρώπη
    • Σύγκριση υπεράκτιων κόμβων ανάπτυξης τεχνολογίας: Ευρώπη (Πολωνία), ASEAN (Φιλιππίνες), Ευρασία (Τουρκία)
    • Ποιες είναι οι κορυφαίες προκλήσεις των CTOs και των CIOs;
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Πνευματικά δικαιώματα © 2025 από The Codest. Όλα τα δικαιώματα διατηρούνται.

    elGreek
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek