惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
U
Unit 42
博客园 - 【当耐特】
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
美团技术团队
雷峰网
雷峰网
小众软件
小众软件
G
Google Developers Blog
GbyAI
GbyAI
Jina AI
Jina AI
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
F
Fortinet All Blogs
Vercel News
Vercel News

博客园 - known

基于Blazor实现的项目管理系统 基于Blazor实现的轻量进销存管理系统 基于Blazor实现的光伏设备调试软件 基于Blazor实现的跟踪光伏智能运维平台 基于Blazor实现的电梯运行监测系统 基于Blazor实现的样品扫码比对管理系统 基于Blazor实现的简易进销存管理系统 InfluxDB2时序数据库查询教程 InfluxDB2时序数据库安装教程 基于Blazor实现的运输信息管理系统 React+Next.js+MaterialUI+Toolpad技术栈学习——安装 Blazor开发框架KnownPro-创建新项目 Blazor开发框架Known-V2.0.13 Blazor开发框架Known-V2.0.11 Blazor静态服务端呈现(静态SSR)身份认证 Blazor开发框架Known-V2.0.10 Blazor开发框架Known-V2.0.9 Blazor开发框架Known-V2.0.8 Blazor开发框架Known-V2.0.7 Blazor Web 应用如何实现Auto模式 Blazor程序混合Razor页面 Known框架实战演练——进销存财务管理 Known框架实战演练——进销存业务单据 Known框架实战演练——进销存基础数据
Win11系统Docker部署Blazor程序
known · 2024-08-01 · via 博客园 - known

1. 开发环境

  • Windows 11 家庭版,默认支持WSL2

2. Docker安装

安装Docker Desktop需要启用Win11的Linux子系统和虚拟机。以管理员身份运行命令行程序,执行如下命令:

  • 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 下载 Linux 内核更新包
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镜像
#docker build -t <镜像名称> .
docker build -t your-blazor-app .
  • 运行Docker容器
#-p      宿主机端口:容器端口
#--name  容器名 镜像名
docker run -d -p 8080:80 --name blazor-app your-blazor-app
  • 导出镜像
#docker save -o <输出文件路径> <镜像名称>:<标签>
docker save -o myimage_v1.tar myimage:v1
  • 导入镜像
#docker load -i <镜像文件路径>
docker load -i myimage_v1.tar