索引:
一. 建立 .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 : Controller10 {11 public IActionResult DockerIndex()12 {13 return View();14 }15 }16 }
-------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
d.添加视图
-------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
1 @{ 2 Layout = null; 3 } 4 5 6 7 8 9 10DockerIndex 11 12 13这是Docker中的Asp.net Core APP !
14 15
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
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 DemoLM12 {13 public class Startup14 {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 else46 {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 }
---------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
f.发布
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
二. 准备 CentOS 环境
a.准备虚拟机
---------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
b.安装 docker
1 yum install docker
----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
c.设置docker 服务
1 systemctl start docker.service2 systemctl enable docker.service
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
三. 打包 站点镜像
a.将程序放入 /root
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
b.命令切换至 DemoLM
1 cd ./DemoLM
-----------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
c.创建 Dockerfile
1 vim ./Dockerfile
--------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
1 FROM docker.io/microsoft/aspnetcore2 COPY ./bin/Release/PublishOutput ./publish3 WORKDIR /publish4 EXPOSE 805 CMD ["dotnet","DemoLM.dll"]
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
d.打包镜像
1 docker build -t lmapp:1.0 .
------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
四. 运行镜像 并浏览网站
a.查看镜像
1 docker images
---------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
b.运行镜像
1 docker run -d -t --name lmweb10 -p 8800:80 lmapp:1.0
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
c.查看运行状态
1 docker logs lmweb10
---------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
1 docker ps
-----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
d.浏览站点
-------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
五. 详细知识点讲解,请看PPT 分享 O(∩_∩)O哈哈~ ( PS:请关注后续博客 )
a. Linux 讲解
b. .NetCore 讲解
c. Docker 讲解
e. Git hooks 讲解
f. Visual Studio 讲解
蒙
2017-07-05 14:28 周三