在 Windows Server Container 中运行 Azure Storage Emulator(一):能否监听自定义地址?
我要做什么?
- 改 ASE 的监听地址。对于有强迫症的我来说,ASE 默认监听的是 127.0.0.1:10000-10002,这让我无法接受,所以我要将它改成域名 + 80 端口的方式;
- 放到容器中。ASE 只允许单实例运行,难道为了这玩意儿,我要在三个环境下开三个虚拟机?
- 连接 SQL Server,而不是 SQL Server Express LocalDB。DEV/QA 各有其 SQL Server Instance,当然要桥归桥,路归路。
要改变 ASE 的监听地址,首先要确认它有没有使用 HTTP Listener(即 HTTP.sys),否则无法支持端口共享。这个简单,运行起 ASE,netstat -ano 看到端口 10000-10002 的 PID 为 4,基本就可以断定了,但我们还是要进一步确认一下。
打开 C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe.config,将 StorageEmulatorConfig 中的监听地址和帐号改成这个样子:
<StorageEmulatorConfig>
<services>
<service name="Blob" url="http://dev.blob.contoso.com/"/>
<service name="Queue" url="http://dev.queue.contoso.com/"/>
<service name="Table" url="http://dev.tablecontoso.com/"/>
</services> <accounts>
<account name="dev" authKey="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" />
</accounts>
</StorageEmulatorConfig>
以管理员方式运行 ASE,结果如下:

看到这里,各位看官可能要问,为什么监听的地址前面要加个“dev.”而不是直接用“blob.contoso.com”这样的地址呢?咳,还不是为了 Azure Storage Explorer。我们看看 Azure Storage Explorer 的连接页面:

为了能让 Azure Storage Explore 能连接上。在 Azure Storage Explore 的连接页面上,第一种方式就不用想了,因为你是模拟器;第二种连接方式是使用连接字符串,Azure Storage Emulator 的连接字符串格式必须带有 /AccountName 的后缀(见 https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator),尝试一下:

虽然这是我最想要的连接方式,但显然 Azure Storage Explorer 并不接受这样的连接串。那么只剩下第三种:

结果:

Azure Storage Explorer 把我们的域名改成了 accountname.blob.contoso.com 这样的格式,哎,这是 Azure 的 Storage Account 的 套路,虽然前面挂个“dev.”,后边挂个“/dev”,但也勉强接受了。建个 container 试试:

Okay!下一节,我们要尝试使用自定义的 SQL Server 实例。
在 Windows Server Container 中运行 Azure Storage Emulator(一):能否监听自定义地址?的更多相关文章
- 在 Windows Server Container 中运行 Azure Storage Emulator(三):运行在容器中
上一节中,我们已经准备好了 SQL Server,那么接下来,我们要把 ASE 放到容器里了. 首先,新建 Start.ps1,内容如下: param( [Parameter(Mandatory=$t ...
- 在 Windows Server Container 中运行 Azure Storage Emulator(二):使用自定义的 SQL Server Instance
上一节,我们解决了 Azure Storage Emulator 自定义监听地址的问题,这远远不够,因为在我们 DEV/QA 环境有各自的 SQL Server Instance,我们需要将 ASE ...
- 在Windows Server 2012 中安装 .NET 3.5 Framework
问题 如今,仍然有许多程序和应用需要依靠.NET 3.5 framework 来运行.在Windows Server 2012中,微软提供了.NET 3.5 和.NET 4.5的安装选项以为你的应用程 ...
- 在Windows Server 2012 中安装 .NET 3.5 Framework,PowerShell 安装.NET FRAMEWORK
问题 如今,仍然有许多程序和应用需要依靠.NET 3.5 framework 来运行.在Windows Server 2012中,微软提供了.NET 3.5 和.NET 4.5的安装选项以为你的应用程 ...
- Windows Server 2008中关闭事件跟踪程序的方法
Windows Server 2008跟Windows Server 2003一样,在关机的时候会弹出一个“关闭事件跟踪程序”窗口,当然微软这么做是处于安全的考虑啦,但是如果我们只是个人用用的话,那就 ...
- Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行
Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行 2016年01月03日 17:36:00 持之以恒 阅读数:5520 标签: windows定时任务.b ...
- Windows Server 2008中安装IIS7.0
最近由于需求重新部署了一台服务器Windows Server 2008,由于以前都是在Windows Server 2003上操作,因此记录下,供其他同学参考. 下面主要介绍在Windows Se ...
- windows server 2003中端口默认不能使用问题
问题:在windows server 2003中IIS6.0新建站点,给了一个新端口(非80),然后配置好后不能访问 解决方案:系统内置防火墙需要添加对应端口,如下图: 即解决.
- 在Windows Server 2003中搭建DNS服务器
1.安装Windows Server 2003虚拟机 准备好Windows Server 2003的镜像:http://www.downza.cn/soft/184944.html 2.Windows ...
随机推荐
- AngularJS 的常用特性(二)
3.列表.表格以及其他迭代型元素 ng-repeat可能是最有用的 Angular 指令了,它可以根据集合中的项目一次创建一组元素的多份拷贝. 比如一个学生名册系统需要从服务器上获取学生信息,目前先把 ...
- 09 jdk1.5的并发容器:CopyOnWriteArrayList(转载)
原文链接:http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略. 其基本思路是,从一开始大家都在共享同一个内容 ...
- HDOJ 5019 Revenge of GCD
Revenge of GCD In mathematics, the greatest common divisor (gcd), also known as the greatest common ...
- 为什么会出现__pycache__文件夹?
为什么会出现__pycache__文件夹? python解释器会将 *.py 脚本文件进行编译,并将编译结果保存到__pycache__目录中. 下次再执行工程时,若解释器发现这个 *.py 脚本没有 ...
- Docker学习之Docker容器基本使用
Docker学习之Docker容器基本使用 新建容器并启动 命令格式:docker run --options repository:tag 后台运行 命令格式:-d 已存在的容器相关操作 启动:do ...
- [javaSE] 多线程(join方法)
多条线程并发执行,随机切换,调用join()方法,会使当前线程所在的线程(一般主线程)冻结,直到当前线程结束,所在的线程才恢复继续执行 class JoinTestDemo implements Ru ...
- 网站压力测试 工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小. 主要是 -t 参数用着比较爽,下面参考了张宴的文章 ...
- 中南月赛 1313: ZZY的宠物
1313: ZZY的宠物 Time Limit: 2 Sec Memory Limit: 128 MBSubmit: 114 Solved: 59[Submit][Status][Web Boar ...
- Spring_Spring与AOP_AspectJ基于XML的实现
一.前置通知 import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.as ...
- C#获取AD域中计算机和用户的信息
如果你的计算机加入了某个AD域,则可以获取该域中所有的计算机和用户的信息. 所用程序集,需要.Net Framework 4. 添加程序集引用 System.DirectoryServices.Acc ...