Azure是微软的云计算平台,可提供企业虚拟运行其全部或部分计算操作所需的一切。 换句话说,它允许组织,开发人员,政府机构和IT专业人员构建,部署和管理应用程序,而无需依赖任何物理硬件(只要它们具有活动的Internet连接)
Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker可以让你在不同的环境中运行相同的应用程序,而不必担心环境差异导致的问题。以下是使用Docker的步骤:
安装Docker: 首先,需要在计算机上安装Docker。可以从官方网站下载适用于您的操作系统的Docker安装程序。
Docker镜像: Docker镜像是一个轻量级、独立、可执行的软件包,它包含运行应用程序所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
Docker容器: Docker容器是Docker镜像的运行实例。可以使用Docker容器来运行应用程序。
Docker仓库: Docker仓库是存储和分发Docker镜像的地方。可以使用公共或私有仓库来存储和共享镜像。
说明:Dock容器应用的开发必须使用Linux环境。Windows提供了一个高效的Linux子系统WSL 2。本实践中,我们首先启用WSL 2,然后安装Linux发行版ubuntu 18.04或更高版本20.04。安装Docker,并将Docker和WSL 2集成。
替代选择:
在PowerShell 中运行:
wsl.exe -l -v
如果结果如下,那么需要启用Windows的Linux子系统。
具体步骤查看网页:
Install WSL | Microsoft Learn
简单步骤
1,检查:若要更新到 WSL 2,需要运行 Windows 10。对于 x64 系统:版本 1903 或更高版本。
2,以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
3,下载并安装Linux 内核更新包: 适用于 x64 计算机的 WSL2 Linux 内核更新包 。
4,PowerShell中执行
wsl --set-default-version 2
在Windows 应用商店里,找到ubuntu 18.04并安装。
然后再开始页面找到刚安装的ubuntu 18.04。
打开ubuntu 18.04,等待终端出现安装完成消息。
在PowerShell中执行:
wsl -- set-default Ubuntu-18.04
按如下网页中指南下载和安装Docker桌面版:
Get Started | Docker
首先,保证选择了General标签页里的Use the WSL2 based engin选项:
然后Resource标签页中选择Enable integration with my default WSL distro选项:
说明:先在WSL中安装dotnet-sdk-6.0。然后在WSL文件系统下创建项目文件夹,初始化一个.NET Blazor Server项目。从项目目录打开VS Code,在VS Code中安装必要插件。向项目添加Docker File。最后用VS Code调试运行在WSL中的项目。
可能的问题:第一次调试可能因网络原因,安装.NET调试器失败。结局办法是直接拷贝相关文件。
打开WSL文件夹的方法:在WSL(Ubuntu)中运行“explorer.exe .”。
按官方网页中的指南安装VSCode:Visual Studio Code - Code Editing. Redefined。
打开ubuntu18.04,依次执行:
sudo apt update
sudo apt upgrade
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt-get install dotnet-sdk-6.0
在ubuntu 20.04中安装dotnet-sdk-6.0:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6.0
打开ubuntu18.04。创建目录myapp0。这需要在ubuntu终端中执行:
mkdir myapp00
cd myapp00
在ubuntu终端中执行:
dotnet new blazorserver
在myapp00目录内执行:
VS Code启动后画面如下:
在VS Code里安装插件C#和Docker。过程为:先找到插件,安装,再点击插件上的Install in WSL:Ubuntu-18.04。
注意下面边栏的火焰图标。
VS Code 同样可以从键盘访问。 要知道的最重要的组合键是 Ctrl+Shift+P,它会调出命令面板。选择 .NET: Generate Assets for Build and Debug。生成launch.json和task.json文件。
选择.Net Core环境:
打开命令面板 (Ctrl+Shift+P) 并使用 Docker: Add Docker Files to Workspace... 命令
当提示应用程序平台时,选择 .NET: ASP.NET Core。
当提示选择操作系统时,选择Linux。
将应用程序端点的端口更改为 5000。
系统会询问您是否要添加 Docker Compose 文件,选择“是”。
Dockerfile 和 .dockerignore 文件被添加到工作区。
该扩展还将修改launch.json和task.json文件。创建一组用于构建和运行容器的 VS Code 任务(在调试和发布配置中,总共四个任务),以及用于在调试模式下启动容器的调试配置。
选择 Docker .NET Core Launch.
效果展示
至此docker应用可以运行
在PowerShell或其它终端里执行
docker login cr.scuapps.cn:5000
用户名:这里写自己或别人的用户名
密码:这里是密码
我是用的之前课程老师的用户名和密码。这里就不给大家放了。想用的可以自己去创建一下账号。
docker tag {my-app} cr.scuapps.cn:5000/{my-app}
docker push cr.scuapps.cn:5000/{my-app}
docker pull cr.scuapps.cn:5000/{their-app}
我的运行实践
登录容器注册表
推送自己的容器映像
拉取其他同学的映像
浏览器访问
至此我们完成了Azure和Docker在本地的应用