使用 Docker 進行開發 Windows 子系統 Linux (WSL)

使用 Docker 進行開發 Windows 子系統 Linux (WSL)

要在 WSL 中完整地使用 Docker 項目,您需要安裝 WSL 2。截至撰寫本文時,它僅在 Insider Program 中可用。 Windows (WSL 2 適用於 18932 年及更高版本)。另外值得一提的是,所需的版本是 Windows 10 用於安裝和設定 Docker Desktop 的專業版。

第一步驟

加入預覽體驗計畫並安裝更新後,您需要安裝發行版。 Linux (本範例使用 Ubuntu 18.04)和帶有 WSL 2 技術預覽版的 Docker Desktop:

  1. Docker Desktop WSL 2 技術預覽
  2. Ubuntu 18.04的 Windows 商家

在這兩點上,我們都遵循所有安裝和設定說明。

安裝發行版 Ubuntu 18.04

在開始之前 Ubuntu 必須啟用 18.04 版本。 Windows WSL和 Windows 透過在 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 桌面

請按照安裝說明進行操作。安裝完成後,電腦需要重啟,首次啟動時也需要重新啟動才能啟用 Hyper-V(此功能需要特定版本)。 Windows 10 臨)。

重要的信息! 如果 Docker Desktop 報告被防火牆阻止,請前往防毒設定並對防火牆規則進行以下變更(在本範例中,使用卡巴斯基全方位安全軟體作為防毒軟體):

  • 前往設定 -> 安全性 -> 防火牆 -> 設定封包規則 -> 本機服務 (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

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster