1。创建NetCoreAPI项目首先创建一个NetCoreAPI项目,因为比较简单,就不做介绍了。2、云服务部署2.1首先登录云服务器,创建测试目录mkdir/home/netCoreDemo/webapp使用Linuxftp工具将Visualstudio发布的部署包上传到云端的/home/netCoreDemo/webapp目录server,2.2新建一个dockerfile用于构建镜像。内容如下:#添加基础镜像:docker会从网上下载这个镜像FROMmcr.microsoft.com/dotnet/aspnet:3.1ASbaseFROMmcr.microsoft.com/dotnet/sdk:3.1ASbuildENVASPNETCORE_URLS=http://+:28080#解决如下报错#容器内系统的工作空间WORKDIR/webapp#将当前文件夹下的文件复制到容器内系统的工作空间(注意:"后面有空格.")COPY./webapp#设置Docker容器对外暴露端口EXPOSE28080#在容器中使用["dotnet","system-starteddll"]运行应用程序#使用ENTRYPOINT["dotnet","system-starteddll"]#也可以使用CMD["dotnet","系统启动的dll"]推荐使用ENTRYPOINTENTRYPOINT["dotnet","test.dll"]2.3在当前dockerfile中构建镜像directory执行构建镜像命令build-fdockerfile-txm/netcoredemo:1.0.2.4运行镜像开始运行镜像,建议加上-dp后台启动dockerrun的参数--namenetcoredemo-p28080:28080xm/netcoredemo:1.0后台启动命令dockerrun-d--namenetcoredemo-p28080:28080xm/netcoredemo:1.0直接测试服务器界面是否正常?curlhttp://127.0.0.1:28080/weatherforecast外网访问测试准备条件确保你的云服务器外网端口是开放的,防火墙也要注意打开28080端口或者关闭防火墙浏览器访问:http://yourpublicNetworkIP:28080/weatherforecast删除容器需要先停止容器,再删除dockerstopnetcoredemo#先停止dockerrmnetcoredemo#删除容器删除镜像dockerrmixm/netcoredemo:1.0部署可能会遇到问题在IPv6环回接口上:'Cannotassignrequestedaddress'解决办法:在dockerfile中添加这行配置,因为这只是为了测试目的,不考虑使用nginx作为代理ENVASPNETCORE_URLS=http://+:28080
