ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 操作系统 >> Windows Server 2008教程 >> 在 Windows Server Container 中运行 Azure Storage Emulator(三):运行在容器中

在 Windows Server Container 中运行 Azure Storage Emulator(三):运行在容器中(1/2)

来源:网络整理     时间:2017-10-30     关键词:

本篇文章主要介绍了" 在 Windows Server Container 中运行 Azure Storage Emulator(三):运行在容器中",主要涉及到方面的内容,对于Windows Server 2008教程感兴趣的同学可以参考一下:   上一节中,我们已经准备好了 SQL Server,那么接下来,我们要把 ASE 放到容器里了。  首先,新建 Start.ps1,内容如下: 1param(...

  上一节中,我们已经准备好了 SQL Server,那么接下来,我们要把 ASE 放到容器里了。

  首先,新建 Start.ps1,内容如下:

 1param(
 2     [Parameter(Mandatory=$true)][string]$HostName,
 3     [string]$AccountName,
 4     [string]$AuthKey,
 5     [string]$SqlServerInstance)
 6 7# Initialized? 8if (Test-Path Initialized)
 9{
10     &"C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" start -inporcess
11}
1213if ([string]::IsNullOrEmpty($AccountName))
14{
15     Write-Output "AccountName argument not specified, use the default: devstoreaccount1"16$AccountName = "devstoreaccount1"17}
18if ([string]::IsNullOrEmpty($AuthKey))
19{
20     Write-Output "AuthKey argument not specified, use the default: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="21$AuthKey = "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="22}
23if ([string]::IsNullOrEmpty($SqlServerInstance))
24{
25     Write-Output "SqlServerInstance argument not specified, use the default: (localdb)\MSSQLLocalDB"26$SqlServerInstance = "(localdb)\MSSQLLocalDB"27}
2829# Replace the configuration30$config = "C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe.config"31 (get-content $config)`
32-Replace"<service name=""Blob"" url=""http://127.0.0.1:10000/""/>", "<service name=""Blob"" url=""http://$AccountName.blob.$HostName/"" />"`
33-Replace"<service name=""Queue"" url=""http://127.0.0.1:10001/""/>", "<service name=""Queue"" url=""http://$AccountName.queue.$HostName/"" />"`
34-Replace"<service name=""Table"" url=""http://127.0.0.1:10002/""/>", "<service name=""Table"" url=""http://$AccountName.table.$HostName/"" />"`
35-Replace"<account name=""devstoreaccount1"" authKey=""Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="" />",`
36"<account name=""$AccountName"" authKey=""$AuthKey"" />"`
37         | Out-File$config3839# Init the emulator40 & "C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" init -server $SqlServerInstance4142# Set Initialized flag43 New-Item Initialized
4445# Start!46 & "C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" start -inprocess

  Dockerfile:

# escape=`

FROM microsoft/windowsservercore

ADD https://go.microsoft.com/fwlink/?linkid=717179&clcid=0x409 MicrosoftAzureStorageEmulator.msi
RUN msiexec /q /i MicrosoftAzureStorageEmulator.msi
RUN del MicrosoftAzureStorageEmulator.msi
COPY Start.ps1 .

# Azure Storage Emulator
EXPOSE 80# Configure and launch
ENTRYPOINT powershell .\Start.ps1

  或许把 AzureStorageEmulator.exe" init 放到 Dockerfile 里也是个好主意,但是这样每个环境都要 build 不同的 image,这不是我想要的。

  现在可以 Build 我们的 image 了:

相关图片

相关文章