注意:本文只用于探讨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. 学习笔记-Little Tips_day20170615-"\n" and '\n'

    1.'\n'是字符 相当于char   占一个字节 "\n"是字符串 相当于char[2]   占两个字节 答案是ABC

  2. bzoj3142 luogu3228 HNOI2013 数列

    这题好没意思啊,怀疑拉不开区分度. 题意:求一个递增序列,每两个相邻数字之间的差值不超过m,最后一个值不能大于n. 分析:网上好多人用了差分,我没想到.然后YY了一发生成函数. 考虑构造生成函数G(x ...

  3. Java中动态代理工作流程

    当谈到动态代理就会想到接口,因为接口是一种规范,动态代理对象通过接口便会很清楚地知道他的实现类(被代理对象)是何种类型的(即有哪些方法).Now,然我们来开始编写一个例子来了解动态代理的全过程: 第一 ...

  4. 第二周Python讲课内容--日记

    1.初识模块:sys.os 标准模块库存放在lib文件夹里 三方库模块一般存放在packages文件夹里 模块调用方法:import sys/os sys模块: sys.path 打印环境变量 sys ...

  5. IPFS: Merkle DAG数据结构

    今天带大家来深入探索一下IPFS的核心数据结构Merkle DAG 什么是 Merkle DAG? Merkle DAG是IPFS系统的核心概念之一,当然Merkle DAG并不是IPFS团队发明的, ...

  6. python趣味——与MS系列编译器一样强大的Unicode变量名支持

    中文变量名,中文函数名,中文类名等,可惜Python2不支持,但在Python3时代,这些都可以完美支持了. def 中文函数(): return 1

  7. 有序的Map集合--LinkedHashMap

    提出问题: 在写一个dao的时候,我的需求是这个dao是一个万能的,目前的方法只有一个查询出实体类对应的表中所有的数据,通过传入的对象,利用反射获取实体类中的属性名,属性类型,利用字符串拼接获取相应属 ...

  8. javascript里的循环语句

    前序:我一直对于for跟for..in存在一种误解,我觉得for都能把事情都做了,为啥还要for...in...这玩意了,有啥用,所以今天就说说JavaScript里的循环语句. 循环 要计算1+2+ ...

  9. phpcms v9 列表页直接下载功能代码实现

    {pc:content action="lists" catid="$catid" num="3" order="id DESC& ...

  10. 01_搭建Linux虚拟机(下)_我的Linux之路

    原文发布在特克斯博客www.susmote.com ​ 上一节已经给大家讲解了如何用VMware安装虚拟机,但是只讲了在VMware里面的操作 接下来我们讲在Linux内部的安装步骤 首先我们启动Li ...