Win11系统Docker部署Blazor程序

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
相关推荐
Lvan的前端笔记5 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
姜鱼问生5 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*6 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
运维行者_7 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时8 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
IT研究所9 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
AIgorithmGEEK9 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil20810 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)10 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter62510 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器