栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

在 Windows 使 .NET 应用容器化

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在 Windows 使 .NET 应用容器化

文章目录
    • 先决条件
    • 一、安装 WSL2
    • 二、创建 .NET 应用
    • 三、创建 Dockerfile
    • 四、创建容器
    • 五、管理容器
    • 参考文档

先决条件

安装 .NET SDK 6.0
安装 Docker 社区版

一、安装 WSL2
# 此命令将启用所需的可选组件
> wsl --install

# 将 WSL 2 设置为默认版本
> wsl --set-default-version 2

# 安装 Ubuntu-20.04
> wsl --install -d Ubuntu-20.04
二、创建 .NET 应用

使用命令行创建项目

> dotnet new console -o App -n DotNet.Docker

Program.cs 应如下面的 C# 代码所示 :

Console.WriteLine("Hello World!");

将此文件替换为以下每秒计数一次的代码:

var counter = 0;
var max = args.Length != 0 ? Convert.ToInt32(args[0]) : -1;
while (max == -1 || counter < max)
{
    Console.WriteLine($"Counter: {++counter}");
    await Task.Delay(1000);
}

使用命令行 dotnet run 或 dotnet run -- 5 启动测试程序。

三、创建 Dockerfile

创建 Dockerfile 并写入代码:

FROM mcr.microsoft.com/dotnet/aspnet:6.0

COPY bin/Release/net6.0/publish/ App/
WORKDIR /App
ENV DOTNET_EnableDiagnostics=0
ENTRYPOINT ["dotnet", "DotNet.Docker.dll"]

FROM 定制的镜像都是基于 FROM 的镜像
COPY 命令指示 Docker 将计算机上的指定文件夹复制到容器中的文件夹
WORKDIR 命令将容器内的当前目录更改为 App
ENV 设置容器环境变量
ENTRYPOINT 指示 Docker 将容器配置为可执行文件运行,在容器启动时,ENTRYPOINT 命令运行。

四、创建容器

首先创建对应的镜像

# 创建镜像,用 -t 设置镜像的名字
> docker build -t counter-image -f Dockerfile .
# 列出本地主机上的镜像
> docker images

然后创建容器

# 创建一个新的容器但不启动它
> docker create --name core-counter counter-image
# 查看已创建容器
> docker ps -a
五、管理容器

容器是使用特定名称 core-counter 创建的,此名称用于管理容器。

# 启动容器
> docker start core-counter
# 仅仅查看正在运行的容器
> docker ps
# 连接到正在运行中的容器 --sig-proxy=false 参数可确保 CTRL-D 或 CTRL-C 不会关闭容器
> docker attach --sig-proxy=false core-counter
# 停止容器
> docker stop core-counter
# 查看已创建容器
> docker ps -a
# 删除容器
> docker rm core-counter
# 再次查看是否成功删除
> docker ps -a

如果只是需要单次运行,则只需使用 docker run 无需依次运行 docker create 和 docker start 。

# 自动使用当前终端连接到容器,再在容器完成时删除容器
> docker run -it --rm counter-image
# 给程序传参 3 
> docker run -it --rm counter-image 3
# 查看容器停止后是否自动删除了
> docker ps -a
参考文档

安装 WSL
教程:使 .NET 应用容器化

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/911335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号