Win10+.Net Core+Docker 实战

本文采用Docker For Windows,使用Hyper-V里的MobyLinuxVM实现

安装类的网上教程很多,不一一例举了

新建ASP.Net Core Web应用程序,模板用API就行,然后新建一个控制器SystemController;添加引用System.Net;

 

    [Route("api/[controller]")]
    [ApiController]
    public class SystemController : ControllerBase
    {
        [HttpGet]
        public ActionResult<object> Info() {
            Dictionary<string, object> info = new Dictionary<string, object>();

            info["ServerName"] = Environment.MachineName;
            info["ServerIp"] = HttpContext.Connection.LocalIpAddress.ToString();
            info["ServerPort"] = HttpContext.Connection.LocalPort;
            info["ClientIp"] = HttpContext.Connection.RemoteIpAddress.ToString();
            info["ClientPort"] = HttpContext.Connection.RemotePort;
            return info;
        }
    }

直接运行后访问 /api/system,可以看到运行结果;

然后用PowerShell切换目录到项目文件夹输入命令

dotnet publish --runtime ubuntu.16.04-x64

执行完之后切换到 项目文件夹的bin\Debug\netcoreapp2.2\ubuntu.16.04-x64\publish

新建Dockerfile文件

FROM microsoft/aspnetcore:latest 
WORKDIR /app
COPY ./ ./
ENV ASPNETCORE_URLS http://+:5680
ENTRYPOINT ["dotnet", "./{项目名称}.dll"]

(第四行有个小插曲,这里要设置端口号,防止端口冲突)

保存之后

docker build -t demo .

demo是自定义镜像名称,记住后面有个点,意思是指当前目录

 docker run -it -p 5680:5680 demo

demo是前面定义的镜像名称,至此第一个docker就运行成功了

打开浏览器直接访问http://127.0.0.1:5680/api/system

asp.net core在dockers容器中使用nginx反向代理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值