注意:本文只用于探讨asp.net容器化,不建议生产环境下使用(docker 镜像太大!!!!)

安装docker

  准备一个台windwos server 2016 ,在PowerShell 里执行以下命令

Install-Module DockerProvider -Force
Install-Package Docker -ProviderName DockerProvider -Force

构建简单的网站

FROM microsoft/aspnet:4.7.1

COPY ./www/ /inetpub/wwwroot 

RUN  Add-WindowsFeature  Web-IP-Security; `
powershell -NoProfile -Command Install-PackageProvider -Name NuGet -MinimumVersio 2.8.5.201 -Force; \
Install-Module -Name IISAdministration -Force; \
net user web 123456 /add ;\
net localgroup administrators web /add RUN powershell -NoProfile -Command \
Import-module IISAdministration ; \
Remove-IISSite -name 'Default Web Site' -Confirm:$false ; \
New-IISSite -Name "www.example.com" -PhysicalPath "C:\inetpub\wwwroot"

1.通过NuGet安装 IISAdministration,这是一个IIS管理模块,可以通过本地的IIS管理容器中的IIS

2.net user web __Fm9UrD_h /add 设置用户

3.net localgroup administrators web /add 设置用户组

构建HTTPS网站

FROM microsoft/aspnet:4.7.1

RUN mkdir /inetpub/tool

COPY ./tool/ /inetpub/tool
COPY ./www/ /inetpub/wwwroot RUN Add-WindowsFeature Web-IP-Security; `
certutil -importpfx -p "111111" "C:/inetpub/tool/cert.pfx";\
powershell -NoProfile -Command Install-PackageProvider -Name NuGet -MinimumVersio 2.8.5.201 -Force; \
Install-Module -Name IISAdministration -Force; \
net user web 123456 /add ;\
net localgroup administrators web /add RUN powershell -NoProfile -Command \
Import-module IISAdministration ; \
Remove-IISSite -name 'Default Web Site' -Confirm:$false ; \
New-IISSite -Name "www.example.com" -PhysicalPath "C:\inetpub\wwwroot" -BindingInformation "*:443:www.example.com" -CertificateThumbPrint "52C27E02D8EFB1BB488AEC13DB06E94EED18E539" -CertStoreLocation "Cert:\LocalMachine\My" -Protocol https

1.certutil -importpfx -p "密码" "C:/inetpub/tool/cert.pfx"; 添加证书

2.-CertificateThumbPrint "证书指纹" ,可以通过IIS管理器->服务器证书->查看证书->详细信息->指纹

构建带IIS插件网站

FROM microsoft/aspnet:4.7.1

RUN mkdir /inetpub/tool

COPY ./tool/ /inetpub/tool
COPY ./www/ /inetpub/wwwroot RUN Add-WindowsFeature Web-IP-Security; `
Start-Process ' C:\inetpub\tool\rewrite_amd64.msi' '/qn' -PassThru | Wait-Process;\
powershell -NoProfile -Command Install-PackageProvider -Name NuGet -MinimumVersio 2.8.5.201 -Force; \
Install-Module -Name IISAdministration -Force; \
net user web 123456 /add ;\
net localgroup administrators web /add RUN powershell -NoProfile -Command \
Import-module IISAdministration ; \
Remove-IISSite -name 'Default Web Site' -Confirm:$false ; \
New-IISSite -Name "www.example.com" -PhysicalPath "C:\inetpub\wwwroot"

Asp.net容器化的更多相关文章

  1. ASP.NET Core使用Docker进行容器化托管和部署

    一.课程介绍 人生苦短,我用.NET Core!今天给大家分享一下Asp.Net Core以Docker进行容器化部署托管,本课程并不是完完全全的零基础Docker入门教学,课程知识点难免有没覆盖全面 ...

  2. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(一)(转载)

    本文结构 ASP.NET Core应用程序的构建 ASP.NET Core应用程序容器化所需注意的问题 应用程序的配置信息 端口侦听 ASP.NET Core的容器版本 docker镜像构建上下文(B ...

  3. 一套标准的ASP.NET Core容器化应用日志收集分析方案

    讲故事 关注我公众号的朋友,应该知道我写了一些云原生应用收集和分析相关的文章,其中内容大多聚焦某个具体的组件: 超级有用的TraceId,快点用起来吧! 如何利用NLog输出结构化日志,并在Kiban ...

  4. Asp.NetCore轻松学-使用Docker进行容器化托管

    前言 没有 docker 部署的程序是不完整的,在写了 IIS/Centos/Supervisor 3篇托管介绍文章后,终于来到了容器化部署,博客园里面有关于 docker 部署的文章比比皆是,作为硬 ...

  5. .NET Core容器化@Docker

    温馨提示:本文适合动手演练,效果更佳.  1. 引言 我们知道. NET Core最大的特性之一就是跨平台,而对于跨平台,似乎大家印象中就是可以在非Windows系统上部署运行.而至于如何操作,可能就 ...

  6. .NET Core容器化之多容器应用部署@Docker-Compose

    1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题. 2. Why Need Ngin ...

  7. .NET Core+MySql+Nginx 容器化部署

    .NET Core容器化@Docker .NET Core容器化之多容器应用部署@Docker-Compose .NET Core+MySql+Nginx 容器化部署 GitHub-Demo:Dock ...

  8. .NET Core容器化开发系列(零)——计划

    .NET Core相当完善的跨平台特性以及其轻量化的底层接口为我们能顺畅进行微服务开发提供了非常棒的基础. 作为支撑微服务最常见的基础技术--容器化将是本系列的核心内容. 接下来我计划用一个月左右的时 ...

  9. .NET Core容器化之多容器应用部署-使用Docker-Compose

    原文补充: -- docker-compose.ymlversion: ' services: mvc-web: container_name: mvc.web.compose build: . re ...

随机推荐

  1. nodejs辅助前台开发系列(1) 搭建简单HTML开发环境

    搭建简单的html开发环境一般需要解决两个问题: 文本编辑器 WebServer集成 在文本编辑器选择上,VS Code 无疑是一匹黑马,谁用谁知道.WebServer集成nodejs对前端来说最为友 ...

  2. Java Web day01

    1.配置环境 Eclipse版本:Mars.2 Release (4.5.2) jdk版本: 配置Eclipse (1)更改编码 工作空间 jsp页面编码 (2)更改背景颜色及字体大小 (3)安装jr ...

  3. mysql性能分析之explain的用法

    之前是一直没有听过explain这个关键字的, 最近因为项目中总是会有慢查询的一些操作, 所以请教了旁边的同事帮忙排查下原因, 看到同事用explain来分析一些sql语句, 感觉好像发现了新大陆一样 ...

  4. MyBatis笔试题

    1请写出Mybatis核心配置文件MyBatis-config.xml的内容? <?xml version="1.0" encoding="UTF-8"? ...

  5. which framework or library is best to use WebRTC

    which framework or library is best to use WebRTC http://stackoverflow.com/questions/24857637/current ...

  6. The method queryForMap(String, Object...) from the type JdbcTemplate refers to the missing type DataAccessException

    Add spring-tx jar of your spring version to your classpath.

  7. 听说你买了 EOS ,连代码什么样都不知道?

    最近发现很多人投资了 EOS,却并不关心 EOS 目前的开发进度和技术细节,如果你投资了 EOS, 还有一定的技术基础,那就更应该关心 EOS 的开发情况了,下面我们就从 EOS 的源代码说起:   ...

  8. 测试框架Mocha

    NodeJS里最常用的测试框架估计就是mocha了.它支持多种node的assert libs, 同时支持异步和同步的测试,同时支持多种方式导出结果,也支持直接在browser上跑Javascript ...

  9. V-bind详细使用

    v-bind  主要用于属性绑定,Vue官方提供了一个简写方式 :bind,例如: <!-- 完整语法 --> <a v-bind:href="url">& ...

  10. Python爬取百度贴吧

    from urllib import request,parseimport os#找到借口及关键字base_url = 'http://tieba.baidu.com/f?'a = input(&q ...