1. 开发环境
- Windows 11 家庭版,默认支持WSL2
2. Docker安装
安装Docker Desktop需要启用Win11的Linux子系统和虚拟机。以管理员身份运行命令行程序,执行如下命令:
- 启用适用于 Linux 的 Windows 子系统
bash
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 启用虚拟机功能
bash
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 下载 Linux 内核更新包
bash
wsl --update
再下载Docker Desktop安装程序,直接安装,重启系统即可。
3. Blazor发布
-
用VS工具右击项目发布,发布设置如下:
- 目标框架:net8.0
- 部署模式:框架依赖
- 目标运行时:可移植
-
在发布后文件夹中添加Dockerfile文件,文件内容如下:
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
#复制当前目录所有到文件夹YourBlazorApp
COPY . /YourBlazorApp
#工作目录
WORKDIR /YourBlazorApp
#暴露端口
EXPOSE 8080
EXPOSE 8081
#入口点
ENTRYPOINT ["dotnet", "YourBlazorApp.dll"] -
构建Docker镜像
bash
#docker build -t <镜像名称> .
docker build -t your-blazor-app .
- 运行Docker容器
bash
#-p 宿主机端口:容器端口
#--name 容器名 镜像名
docker run -d -p 8080:80 --name blazor-app your-blazor-app
- 导出镜像
bash
#docker save -o <输出文件路径> <镜像名称>:<标签>
docker save -o myimage_v1.tar myimage:v1
- 导入镜像
bash
#docker load -i <镜像文件路径>
docker load -i myimage_v1.tar