在 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 ...
随机推荐
- <深入理解JavaScript>学习笔记(3)_全面解析Module模式
简介 Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式. 首先我们来看看Module模式的基本特征: 模块化,可 ...
- C# 视频转换类
using System.Web; using System.Configuration; namespace DotNet.Utilities { public class VideoConvert ...
- Mybatis初始
1.Mybatis 的作用 完成基本的sql语句 和 存储过程 高级的对象关系映射(ORM) 框架 封装了几乎所有的 JDBC 代码 参数的手工设置 结果集的遍历 2.Mybatis 框架的主体构成 ...
- 如鹏网学习笔记(十二)HTML5
一.HTML5简介 HTML5是HTML语言第五次修改产生的新的HTML语言版本 改进主要包括: 增加新的HTML标签或者属性.新的CSS样式属性.新的JavaScript API等.同时删除了一些过 ...
- java自学-流程控制语句
一件事情从开始到结束,需要先做什么,再做什么,最后再怎么做,这段过程就是一个流程.程序逻辑处理也是一个流程,java中有专门的流程控制语句,主要分为这几种:顺序,判断,选择,循环. 1.顺序流程 顺 ...
- gRPC的简单Go例子
gRPC是一个高性能.通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发 ...
- eclipse 查看源码 source not found
是因为eclipse里面没有设置好源码路径. 源码路径在jdk安装包里面 C:/Program Files/Java/jdk1.8.0_191/src.zip 这个src.zip文件, 设置ecli ...
- SQL Server 中位数、标准差、平均数
create table examines ( ,) NOT NULL, ) NULL, [ph_score] [int] NULL ) SELECT dept_name, AVG(sp) as '中 ...
- WinFrom饼形图
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- javascript中闭包最简单的简绍
javascript中闭包是什么 JavaScript 变量可以是局部变量或全局变量.私有变量可以用到闭包.闭包就是将函数内部和函数外部连接起来的一座桥梁. 函数的闭包使用场景:比如我们想要一个函数来 ...