课程实践作业,主要是linux子系统的启动以及docker环境的安装与配置

一、设置和安装 Windows 的 Linux 子系统以及 Docker

(一) 启用 Windows 的 Linux 子系统 WSL 2

<一>检查系统版本

  • 系统需要为win10系统,注意
    x64系统,版本 1903 或更高版本,采用内部版本 18362 或更高版本;
    arm64系统,版本 2004 或更高版本,采用内部版本 19041 或更高版本。
  • 步骤:
1.查看当前系统版本

(1)按“Win键 + R” 输入 winver 可查看当前系统版本

windows docker 指定linux linux docker windows应用_docker

windows docker 指定linux linux docker windows应用_docker_02

(2)若当前系统版本太低,可通过 下载 Windows 10 (microsoft.com) 链接。

  • 点击立即更新,下载更新包进行系统的更新

windows docker 指定linux linux docker windows应用_Docker_03

(3)启用虚拟机和Linux子系统功能

  • 以管理员身份打开PowerShell(右键选中,选择”以管理员身份运行“)
  • 运行下面的命令开启Linux子系统功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 运行下面的命令开启虚拟机功能:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

此时,执行上面两句命令后,就开启了Linux子系统和虚拟机功能,可以通过“控制面板->程序->启用或关闭Windows功能” 查看

windows docker 指定linux linux docker windows应用_docker_04

windows docker 指定linux linux docker windows应用_docker_05

  • 重启电脑务必重启,否则无法正确安装配置
  • 注意!!!!
  • 如果之前在电脑上安装过VmWare虚拟机的话,由于安装虚拟机时与windows系统自带的hyper-v冲突,所以当时关闭了hyper-v功能。本次实践想要成功,必须完全卸载vmware,重启hyper-v功能
  • 方法:
    管理员权限打开cmd或者powershell,执行下面的命令:
bcdedit /set hypervisorlaunchtype Auto

windows docker 指定linux linux docker windows应用_linux_06

提示操作成功之后,重启即可解决问题

2.下载并安装 Linux 内核更新包
  • 安装前,务必确认已经重启电脑
  • 通过https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi下载Linux内核更新包,并安装
3.将 WSL 2 设置为默认版本
  • 以管理员身份运行powershell,输入:
wsl --set-default-version 2

windows docker 指定linux linux docker windows应用_docker_07

<二> 配置linux系统

1.通过 Microsoft Store 搜索 Ubuntu
  • 安装Ubuntu 18.04 LTS

windows docker 指定linux linux docker windows应用_Docker_08

2. 打开 ubuntu 18.04,等待终端出现安装完成消息
  • 安装完成后,首次启动Ubuntu会有一个初始化过程,需要几分钟,然后创建一个Ubuntu账号

windows docker 指定linux linux docker windows应用_docker_09

3.将 ubuntu 18.04 设置为 WSL 2 的默认系统
  • 以管理员身份运行PowerShell,执行:
wsl --set-default Ubuntu-18.04

windows docker 指定linux linux docker windows应用_Docker_10

(二)将 Docker 和 WSL 2 集成

1. 下载相应版本的 Docker Desktop

安装成功图示

windows docker 指定linux linux docker windows应用_Docker_11

2. 选择关键选项

(1)打开设置界面

windows docker 指定linux linux docker windows应用_Docker_12

(2)在General页面,保证选择了 Use the WSL 2 based engine 选项

windows docker 指定linux linux docker windows应用_docker_13

(3)在Resources 页面,保证选择了 Enable integration with my default WSL distro 选项

windows docker 指定linux linux docker windows应用_Docker_14

(4)点击 Apply & Restart 后, 重启 Docker

二、Windows 下的调试容器应用

(一)安装VS Code

(二)在 ubuntu 18.04 中安装 dotnet-sdk-5.0

打开Ubuntu后,依次执行:

  1. sudo apt update
  2. sudo apt update
  3. wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
  4. sudo dpkg -i packages-microsoft-prod.deb
  5. sudo apt update

windows docker 指定linux linux docker windows应用_docker_15

  1. sudo apt-get install dotnet-sdk-5.0
  2. windows docker 指定linux linux docker windows应用_重启_16


(三)在 WSL 2 中创建.Net 项目

1. 在ubuntu中创建目录 myapp00

依次执行:mkdir myapp00cd myapp00

windows docker 指定linux linux docker windows应用_Docker_17

2.创建.NET Web 项目

执行dotnet new blazorserver

windows docker 指定linux linux docker windows应用_windows_18

(四)启动VS Code

  • 在ubuntu中执行 code .
  • 启动后,vscode画面:

(五) 在WSL 内安装 VS Code 插件

  • 注意:先安装上面的local 插件,且 注意 Install in WSL: Ubuntu-18.04 标志

windows docker 指定linux linux docker windows应用_docker_19

(六)生成 launch.json 文件

  • 使用 Ctrl+Shift+P,调出命令面板。选择 .NET: Generate Assets for Build and Debug。生成 launch.json 和 task.json 文件

windows docker 指定linux linux docker windows应用_重启_20

windows docker 指定linux linux docker windows应用_windows_21

  • 注:此时可能会提示如图:

只需要使用Ctrl+Shift+P 打开命令面板后,输入如下图,重启后 ,再次重复“生成 launch.json 文件”步骤, 选择.NET: Generate Assets for Build and Debug 即可

windows docker 指定linux linux docker windows应用_Docker_22

(七)将 Docker 文件添加到项目中

  1. Ctrl+Shift+P 打开命令面板,使用 Docker: Add Docker Files to Workspace… 命令
  2. 选择.NET: ASP.NET Core 应用程序平台
  3. 选择 Linux 操作系统
  4. 应用程序端点的端口为 5000
  5. 是否要添加 Docker Compose 文件,选择“是”
  • 此时,Dockerfile 和 .dockerignore 文件被添加到工作区。

windows docker 指定linux linux docker windows应用_docker_23

(八)调试程序

在调试运行窗口,选择 Docker .NET Core Launch 进行调试

windows docker 指定linux linux docker windows应用_docker_24

调试成功后(可能等待时间较长),显示界面如下:

windows docker 指定linux linux docker windows应用_windows_25