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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Michel4Liu/article/details/80850912

本系列目录请看这里

https://blog.csdn.net/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.csdn.net/michel4liu/article/details/80805693
链接成后利用mkdir创建 WebA文件夹
这里写图片描述
c、进入WebA文件夹: cd WebA
这里写图片描述
d、利用rz命令上传文件,不会rz的看这里https://blog.csdn.net/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.csdn.net/michel4liu/article/details/80819510

展开阅读全文

没有更多推荐了,返回首页