Docker的asp.net core应用部署系列——将asp.net core应用编译成镜像

本文详细介绍如何将ASP.NET Core应用程序发布并构建为Docker镜像。包括选择发布路径、创建Dockerfile、配置镜像参数及使用Docker命令进行镜像构建等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本系列目录请看这里

https://blog.youkuaiyun.com/michel4liu/article/details/80819510


我们上篇将asp.net core应用准备完毕,接下来将进入关键部分 应用发布->编译镜像部分

1、右键 发布
这里写图片描述

2、选择文件夹 发布到本地
这里写图片描述

3、点击发布
这里写图片描述

4、发布成功后可以看到发布的绝对路径
这里写图片描述

5、创建Dockerfile,打开发布文件夹 创建txt 并重命名为 Dockerfile 切记无后缀名,如果你的文件不显示后缀名,文件菜单->选项->视图-> 去除 隐藏已知扩展名的勾选框
这里写图片描述
这里写图片描述

6、设置Dockerfile

#选择从什么镜像基础上创建我们的镜像,相当于选择我们依赖的环境
FROM microsoft/aspnetcore:latest
#把当前目录复制到镜像的 app目录
COPY . /app
#指定工作目录
WORKDIR /app
#暴露的端口 是之前准备asp.net core应用设置的端口一致 UseUrls(“http://*:12345”)
EXPOSE 12345
#最后设置启动的dll
ENTRYPOINT [“dotnet”, “WebA.dll”]

注意端口暴露的端口 是之前准备asp.net core应用设置的端口一致 UseUrls(“http://*:12345”)

这里写图片描述
关于dockerfile的详细资料看,推荐大家跟着我先把一个简单的应用在docker运行起来再去看这个链接
https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile

7、winodws上链接ubuntu,把publish文件全部上传到指定文件夹

a、先通过ifconfig获取到ubuntu的IP地址
这里写图片描述
b、然后通过SecureCRT 链接,链接不上的看这里https://blog.youkuaiyun.com/michel4liu/article/details/80805693
链接成后利用mkdir创建 WebA文件夹
这里写图片描述
c、进入WebA文件夹: cd WebA
这里写图片描述
d、利用rz命令上传文件,不会rz的看这里https://blog.youkuaiyun.com/michel4liu/article/details/80822301
这里写图片描述
上传成功后可以看到上传的文件,因rz只能上传文件,所以publish里面的文件夹需要压缩成文件在上传,然后在linux上解压,因此处不上传文件夹不影响实验所以不上传了。
这里写图片描述

8、build镜像

a、因为Dockerfile中要求FROM的镜像是microsoft/aspnetcore:latest 所以我们提前准备了此镜像,不提前准备也可以 编译过程中会下载
docker pull microsoft/aspnetcore:latest
docker images
这里写图片描述

b、我们直接在WebA目录中执行以下语句,下面命令最后有个” .” 空格点都要有,v0.1是tag 一般用作版本号,切记设置的镜像名称(weba:v0.1)不能出现大写否则build报错:invalid reference format: repository name must be lowercase

docker build -t weba:v0.1 .
这里写图片描述

9、查看编译完的镜像

docker images
这里写图片描述


本系列目录请看这里

https://blog.youkuaiyun.com/michel4liu/article/details/80819510

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值