栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

.NET Core 3.1部署到Docker

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

.NET Core 3.1部署到Docker

前期准备工作

Windows安装虚拟机,可以用自带的Hyper-V安装一个Ubuntu,然后Ubuntu安装Docker,且配置docker仓储加速设置(有梯子,无所谓)

sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get update && sudo apt-get install -y 

docker-ce sudo systemctl daemon-reload 
sudo systemctl restart docker

拉取.net core 3.1镜像

docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1

1、新建.NET Core 3.1 项目

创建一个新项目

 启动Docker支持点击下载Docker for Windowshttps://mp.csdn.net/mp_download/manage/download/UpDetailed

下载Docker For Windows

 

因为是Windows开发,所以要调试什么的,都会下载一个Docker for Windows,漫长的等待之后,就会下载成功,但是,毕竟是Windows,需要做很多配置。

2、配置Windows Docker环境,调试.NET Core程序
 

1.配置本机WSL 2

可参考微软官方文档:安装 WSL | Microsoft Docs

打开PowerShell,依次运行如下命令:

1、dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2、dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下载下载 Linux 内核更新包适用于 x64 计算机的 WSL2 Linux 内核更新包 (windows.net)
3、wsl --set-default-version 2
只用执行到这里就可以,然哈Windows就可以跑Docker了

2.Visual Studio安装vsdbg

有梯子的同学,运行的时候,链接上梯子,F5运行的时候,visual studio会自动下载这个插件,大概1两分钟,没有梯子的同学,只能参考这里了(PS:我也很无奈)Visual Studio 2019使用docker开发(vsdbg的问题) (copyfuture.com)

3、编辑Dockerfile

将原Dockerfile修改为如下样式
 

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

COPY . .

ENTRYPOINT ["dotnet", "UbiWebAPI.dll"] 

修改DockerFile的属性为始终复制


添加一些简单的代码,然后将项目打包到Linux种。

4、部署到Docker

通过Linux远程工具,将项目复制到指定路径下

 1、构建镜像

在当前路径打开命令窗口,执行如下命令

 docker build -t netapi .

参数说明:

  • -t ---指定镜像名称
  • 命令结尾处 . ---表示build上下文为当前目录,默认情况下docker会使用在上下文的根目录下找到Dockerfile文件

2、创建并启动

查看镜像

docker image ls

 

启动
docker run --name=net1 -d -p 5015:80 netapi

参数说明:

  • -d ,表示在后台以守护态形式运行容器
  • -p 外部端口与内部容器端口映射(5515为外部访问接口,80 为Docker内部接口)。
  • --name 指定容器的名称。当然可以不指定,默认会为我们创建
  • 最后一个参数netapi就是我们刚创建的镜像名称(如果用了标签,应该改为netapi:标签名)

 查看正在运行的镜像
docker ps

可以看到5015已经部署完成,然哈浏览器运行,就可以看到效果:

 

本章案例点击下载https://download.csdn.net/download/qq_27337291/33363869

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

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

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