zoukankan      html  css  js  c++  java
  • 【原创】 Docker 中 运行 ASP.NET Core 站点

    索引:

    目录索引

    一. 建立 .NetCore 项目

       a.新建项目

    ------------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------

           b.选择项目类型

    ------------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------

            c.添加控制器

    ------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------

    -------------------------------------------------------------------------------------

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Threading.Tasks;
     5 using Microsoft.AspNetCore.Mvc;
     6 
     7 namespace DemoLM.Controllers
     8 {
     9     public class DockerTestController : Controller
    10     {
    11         public IActionResult DockerIndex()
    12         {
    13             return View();
    14         }
    15     }
    16 }
    DockerTestController

    -------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------

            d.添加视图

    -------------------------------------------------------------------------------------

     

    ---------------------------------------------------------------------------------------

     1 @{
     2     Layout = null;
     3 }
     4 
     5 <!DOCTYPE html>
     6 
     7 <html>
     8 <head>
     9     <meta name="viewport" content="width=device-width" />
    10     <title>DockerIndex</title>
    11 </head>
    12 <body>
    13     <h1>这是Docker中的Asp.net Core APP !</h1>
    14 </body>
    15 </html>
    DockerIndex

    ---------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------

           e.修改默认请求

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Threading.Tasks;
     5 using Microsoft.AspNetCore.Builder;
     6 using Microsoft.AspNetCore.Hosting;
     7 using Microsoft.Extensions.Configuration;
     8 using Microsoft.Extensions.DependencyInjection;
     9 using Microsoft.Extensions.Logging;
    10 
    11 namespace DemoLM
    12 {
    13     public class Startup
    14     {
    15         public Startup(IHostingEnvironment env)
    16         {
    17             var builder = new ConfigurationBuilder()
    18                 .SetBasePath(env.ContentRootPath)
    19                 .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    20                 .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
    21                 .AddEnvironmentVariables();
    22             Configuration = builder.Build();
    23         }
    24 
    25         public IConfigurationRoot Configuration { get; }
    26 
    27         // This method gets called by the runtime. Use this method to add services to the container.
    28         public void ConfigureServices(IServiceCollection services)
    29         {
    30             // Add framework services.
    31             services.AddMvc();
    32         }
    33 
    34         // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    35         public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    36         {
    37             loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    38             loggerFactory.AddDebug();
    39 
    40             if (env.IsDevelopment())
    41             {
    42                 app.UseDeveloperExceptionPage();
    43                 app.UseBrowserLink();
    44             }
    45             else
    46             {
    47                 app.UseExceptionHandler("/Home/Error");
    48             }
    49 
    50             app.UseStaticFiles();
    51 
    52             app.UseMvc(routes =>
    53             {
    54                 routes.MapRoute(
    55                     name: "default",
    56                     template: "{controller=DockerTest}/{action=DockerIndex}/{id?}");
    57             });
    58         }
    59     }
    60 }
    Startup

    ---------------------------------------------------------------------------------------

     --------------------------------------------------------------------------------------

          f.发布

    ---------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------

    二. 准备 CentOS 环境

           a.准备虚拟机

    ---------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------

           b.安装 docker

    1 yum install docker
    cent bash

    ----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

           c.设置docker 服务

    1 systemctl start docker.service
    2 systemctl enable docker.service
    cent bash

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    三. 打包 站点镜像

           a.将程序放入 /root

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

           b.命令切换至 DemoLM

    1 cd ./DemoLM
    cent bash

    -----------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------

          c.创建 Dockerfile

    1 vim ./Dockerfile
    cent bash

    --------------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------

    1 FROM docker.io/microsoft/aspnetcore
    2 COPY ./bin/Release/PublishOutput ./publish
    3 WORKDIR /publish
    4 EXPOSE 80
    5 CMD ["dotnet","DemoLM.dll"]
    image bash

    -----------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------

          d.打包镜像

    1 docker build -t lmapp:1.0 .
    cent bash

    ------------------------------------------------------------------------------------

     

    ---------------------------------------------------------------------------------------

    四. 运行镜像 并浏览网站

            a.查看镜像

    1 docker images
    cent bash

    ---------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------

          b.运行镜像

    1 docker run -d -t --name lmweb10 -p 8800:80 lmapp:1.0
    cent bash

    ----------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------

           c.查看运行状态

    1 docker logs lmweb10
    cent bash

    ---------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    1 docker ps
    cent bash

    -----------------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------------

          d.浏览站点

    -------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------

    五. 详细知识点讲解,请看PPT 分享 O(∩_∩)O哈哈~  ( PS:请关注后续博客 )

           a. Linux 讲解

           b. .NetCore 讲解

           c. Docker 讲解

           e. Git hooks 讲解

           f. Visual Studio 讲解

                                             蒙

                                        2017-07-05  14:28  周三

  • 相关阅读:
    tomcat部署https
    Java程序内存的简单分析
    接口设计原则
    英语常用口语
    洛谷 P3956 棋盘
    洛谷 P1101 单词方阵
    二分查找模板(准确找定值)
    洛谷 P1892 [BOI2003]团伙
    浅谈二分的边界问题
    deque简单解析
  • 原文地址:https://www.cnblogs.com/Meng-NET/p/7121118.html
Copyright © 2011-2022 走看看