小知识:使用Dockerfile部署第一个Netcore程序

1、创建一个NetCore API项目

首先创建一个netcore的api项目因为比较简单就不介绍。

2、云服务部署

2.1 首先登录云服务器创建一个测试目录

mkdir /home/netCoreDemo/webapp

使用Linux的ftp工具将Visualstudio发布好的部署包上传到云服务器的/home/netCoreDemo/webapp目录中去,

2.2 新建dockerfile文件用来构建镜像

内容如下:

# 添加基础镜像:docker会从网络下载这个镜像 FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build ENV ASPNETCORE_URLS=http://+:28080 #解决下面报错的问题 #容器中系统的工作空间 WORKDIR /webapp #拷贝当前文件夹下的文件到容器中系统的工作空间(注意:“.”后面有空格) COPY . /webapp #设置Docker容器对外暴露的端口 EXPOSE 28080 #容器中使用 [“dotnet”,“系统启动的dll”] 来运行应用程序 #使用ENTRYPOINT [“dotnet”,“系统启动的dll”] #也可以使用 CMD [“dotnet”,“系统启动的dll”]推荐使用ENTRYPOINT ENTRYPOINT [“dotnet”, “test.dll”]

2.3 构建镜像

当前dockerfile目录执行构建镜像命令

build f dockerfile t xm/netcoredemo:1.0 .

%小知识:使用Dockerfile部署第一个Netcore程序-猿站网-插图

2.4 运行镜像

启动运行镜像,推荐增加 -d参数 后台启动

docker run –name netcoredemo -p 28080:28080 xm/netcoredemo:1.0

%小知识:使用Dockerfile部署第一个Netcore程序-1猿站网-插图

后台启动命令

docker run d –name netcoredemo -p 28080:28080 xm/netcoredemo:1.0

服务器直接测试接口是否正常

curl http://127.0.0.1:28080/weatherforecast

%小知识:使用Dockerfile部署第一个Netcore程序-2猿站网-插图

外网访问测试准备条件

确保你的云服务器外网端口开放

防火墙也要注意开放28080端口或者关闭防火墙

浏览器访问:

http://你的公网IP:28080/weatherforecast

%小知识:使用Dockerfile部署第一个Netcore程序-3猿站网-插图

删除容器,需要先停止容器,然后再删除

docker stop netcoredemo #先停止 docker rm netcoredemo #删除容器

删除镜像

docker rmi xm/netcoredemo:1.0

部署可能遇到的问题 on the IPv6 loopback interface: Cannot assign requested address

解决方案:

dockerfile增加这一行配置,因为这边只是单纯测试目的,不考虑使用nginx做代理。

ENV ASPNETCORE_URLS=http://+:28080

原文地址:https://mp.weixin.qq.com/s/lndJN63-7opMusO1TAGe8g

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:云加速是什么?

2023-3-4 15:53:18

建站知识

小知识:单片机和嵌入式都是什么?

2023-3-4 15:58:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索