Ανάπτυξη με Docker σε Windows Υποσύστημα για Linux (WSL)

Ανάπτυξη με Docker σε Windows Υποσύστημα για Linux (WSL)

Για να εργαστείτε πλήρως με ένα έργο Docker σε WSL, πρέπει να εγκαταστήσετε το WSL 2. Κατά τη στιγμή της σύνταξης, η χρήση του είναι δυνατή μόνο ως μέρος της συμμετοχής στο πρόγραμμα Windows Insider (το WSL 2 είναι διαθέσιμο σε εκδόσεις 18932 και νεότερες). Αξίζει επίσης να αναφέρουμε ξεχωριστά ότι η έκδοση Windows 10 Pro απαιτείται για την εγκατάσταση και τη διαμόρφωση του Docker Desktop.

Πρώτα βήματα

Αφού εγγραφείτε στο πρόγραμμα Insider και εγκαταστήσετε ενημερώσεις, πρέπει να εγκαταστήσετε μια διανομή Linux (Ubuntu 18.04 σε αυτό το παράδειγμα) και Docker Desktop με WSL 2 Tech Preview:

  1. Docker Desktop WSL 2 Tech Preview
  2. Ubuntu 18.04 από το Windows Store

Και στα δύο σημεία ακολουθούμε όλες τις οδηγίες εγκατάστασης και διαμόρφωσης.

Εγκατάσταση της διανομής Ubuntu 18.04

Πριν εκτελέσετε το Ubuntu 18.04, πρέπει να ενεργοποιήσετε την πλατφόρμα Windows WSL και Windows Virtual Machine, εκτελώντας δύο εντολές στο PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (απαιτείται επανεκκίνηση του υπολογιστή)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Στη συνέχεια πρέπει να βεβαιωθούμε ότι θα χρησιμοποιήσουμε το WSL v2. Για να το κάνετε αυτό, στο τερματικό WSL ή PowerShell, εκτελέστε τις ακόλουθες εντολές:

  • wsl -l -v — δείτε ποια έκδοση είναι εγκατεστημένη αυτήν τη στιγμή. Αν 1, τότε προχωράμε πιο κάτω στη λίστα
  • wsl --set-version ubuntu 18.04 2 - για ενημέρωση στην έκδοση 2
  • wsl -s ubuntu 18.04 — εγκαταστήστε το Ubuntu 18.04 ως την προεπιλεγμένη διανομή

Τώρα μπορείτε να ξεκινήσετε το Ubuntu 18.04 και να το ρυθμίσετε (καθορίστε το όνομα χρήστη και τον κωδικό πρόσβασής σας).

Εγκατάσταση του Docker Desktop

Ακολουθήστε τις οδηγίες κατά τη διαδικασία εγκατάστασης. Ο υπολογιστής θα χρειαστεί επανεκκίνηση μετά την εγκατάσταση και κατά την πρώτη εκκίνηση για να ενεργοποιηθεί το Hyper-V (το οποίο απαιτεί την υποστήριξη των Windows 10 Pro).

Σημαντικό! Εάν το Docker Desktop αναφέρει αποκλεισμό από το τείχος προστασίας, μεταβείτε στις ρυθμίσεις προστασίας από ιούς και κάντε τις ακόλουθες αλλαγές στους κανόνες του τείχους προστασίας (σε αυτό το παράδειγμα, το Kaspersky Total Security χρησιμοποιείται ως antivirus):

  • Μεταβείτε στις Ρυθμίσεις -> Ασφάλεια -> Τείχος προστασίας -> Διαμόρφωση κανόνων πακέτων -> Τοπική υπηρεσία (TCP) -> Επεξεργασία
  • Καταργήστε τη θύρα 445 από τη λίστα των τοπικών θυρών
  • Διατήρηση

Μετά την εκκίνηση του Docker Desktop, επιλέξτε WSL 2 Tech Preview από το μενού περιβάλλοντος.

Ανάπτυξη με Docker σε Windows Υποσύστημα για Linux (WSL)

Στο παράθυρο που ανοίγει, κάντε κλικ στο κουμπί Έναρξη.

Ανάπτυξη με Docker σε Windows Υποσύστημα για Linux (WSL)

Το Docker και το docker-compose είναι πλέον διαθέσιμα στη διανομή WSL.

Σημαντικό! Το ενημερωμένο Docker Desktop έχει τώρα μια καρτέλα με WSL μέσα στο παράθυρο ρυθμίσεων. Η υποστήριξη WSL είναι ενεργοποιημένη εκεί.

Ανάπτυξη με Docker σε Windows Υποσύστημα για Linux (WSL)

Σημαντικό! Εκτός από το πλαίσιο ελέγχου ενεργοποίηση WSL, πρέπει επίσης να ενεργοποιήσετε τη διανομή WSL στην καρτέλα Πόροι-> Ενσωμάτωση WSL.

Ανάπτυξη με Docker σε Windows Υποσύστημα για Linux (WSL)

Запуск

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

Σφάλματα διαφόρων ειδών που σχετίζονται με την εκκίνηση των σεναρίων bash (τα οποία συνήθως ξεκινούν κατά την κατασκευή κοντέινερ για την εγκατάσταση των απαραίτητων βιβλιοθηκών και διανομών) και άλλα κοινά πράγματα για ανάπτυξη στο Linux μας έκαναν να σκεφτούμε να τοποθετήσουμε έργα απευθείας στον κατάλογο χρηστών του Ubuntu 18.04.

.

Από τη λύση στο προηγούμενο πρόβλημα, ακολουθούν τα εξής: πώς να εργαστείτε με αρχεία έργου μέσω ενός IDE εγκατεστημένο στα Windows. Ως "βέλτιστη πρακτική", βρήκα μόνο μία επιλογή για τον εαυτό μου - να δουλεύω μέσω του VSCode (αν και είμαι λάτρης του PhpStorm).

Μετά τη λήψη και την εγκατάσταση του VSCode, φροντίστε να το εγκαταστήσετε στην επέκταση Πακέτο επέκτασης απομακρυσμένης ανάπτυξης.

Αφού εγκαταστήσετε την προαναφερθείσα επέκταση, απλώς εκτελέστε την εντολή code . στον κατάλογο του έργου όταν εκτελείται το VSCode.

Σε αυτό το παράδειγμα, το nginx απαιτείται για πρόσβαση σε κοντέινερ μέσω του προγράμματος περιήγησης. Εγκαταστήστε το μέσω sudo apt-get install nginx Αποδείχθηκε ότι δεν ήταν τόσο απλό. Αρχικά, έπρεπε να ενημερώσουμε τη διανομή WSL εκτελώντας sudo apt update && sudo apt dist-upgrade, και μόνο μετά από αυτό ξεκινήστε την εγκατάσταση του nginx.

Σημαντικό! Όλοι οι τοπικοί τομείς δεν είναι εγγεγραμμένοι στο αρχείο /etc/hosts της διανομής Linux (δεν υπάρχει καν εκεί), αλλά στο αρχείο hosts (συνήθως βρίσκεται C:WindowsSystem32driversetchosts) των Windows 10.

πηγές

Μια πιο λεπτομερής περιγραφή κάθε βήματος μπορείτε να βρείτε εδώ:

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο