在Windows docker容器中运行ServiceBus

时间:2017-03-02 16:52:12

标签: powershell docker servicebus

主要目标是在Windows的docker容器中运行ServiceBus。

泊坞广告版本的输出:

Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      windows/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.24)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      windows/amd64
 Experimental: true

Dockerfile内容:

# Is used as sql server local storage for servicebus
FROM microsoft/mssql-server-windows-express

COPY install/ /install

# WebPlatform Installer http://download.microsoft.com/download/C/F/F/CFF3A0B8-99D4-41A2-AE1A-496C08BEB904/WebPlatformInstaller_amd64_en-US.msi 
RUN msiexec /i install\WebPlatformInstaller_amd64_en-US.msi /qn

# Install servicebus using webpicmd offline installation https://msdn.microsoft.com/en-us/library/dn441408.aspx#BMK_SBConfig1616
RUN WebpiCmd /Install /Products:ServiceBus_1_1 /AcceptEula /SuppressReboot /xml:c:\install\SBWebPICache\feeds\latest\webproductlist.xml

重现的步骤:

1。使用参数构建图像:

docker build --no-cache -t servicebus $folder

...
Verifying successful installation...    
Microsoft Visual C++ 2012 SP1 Redistributable Package (x64) True    
Microsoft Windows Fabric V1 RTM True    
Microsoft Windows Fabric V1 CU1 True    
Windows Azure Pack: Service Bus 1.1 True
Windows Azure Pack: Update for Service Bus 1.1 - .NET Framework 4.6 Compatibility (KB3086798) True
Install of Products: SUCCESS

Servicebus按预期成功安装

2。使用参数运行容器:

docker run -it --rm --isolation hyperv servicebus powershell

第3。创建新的servicebus服务器场:

New-SBFarm -SBFarmDBConnectionString 'data source=.; integrated security=true' -CertificateAutoGenerationKey (ConvertTo-SecureString -string "P@assword" -force -AsPlainText)

失败,错误:

New-SBFarm : The Server service is not started.

手动启动服务:

Start-Service : Service 'Server (LanmanServer)' cannot be started due to the following error: Cannot start service LanmanServer on computer '.'

发现该服务依赖于使用hyper-v隔离无法在Windows 10(10.0.14393)上启动的'srvnet':

Start-Service : Failed to start service 'srvnet (srvnet)'.

但是使用进程隔离在Windows Server 2016(10.0.14393)上成功启动。但是,即使安装了srvnet服务并安装了文件服务,它仍然无法正常工作。无法启动服务器 lanmanserver 服务

问题: 是否有可能使 lanmanserver 在Windows容器内工作?或者其他任何创建servicebus服务器的方法?

1 个答案:

答案 0 :(得分:1)

我很好奇你是如何安装Service Bus 1.1的。当我运行webpicmd时,我遇到了Windows Fabric的故障,导致其余部分失败。

您负责并且必须找到并阅读每个软件的许可条款 请输入(Y / N):y 开始安装 开始下载产品...... 开始下载:' Microsoft Visual C ++ 2012 SP1可再发行组件包(x64)' 已下载:' Microsoft Visual C ++ 2012 SP1可再发行组件包(x64)' 开始下载:' Microsoft Windows Fabric V1 RTM' 已下载:' Microsoft Windows Fabric V1 RTM' 开始安装产品...... 开始安装:' Microsoft Visual C ++ 2012 SP1可再发行组件包(x64)' 开始下载:' Microsoft Windows Fabric V1 CU1' 已下载:' Microsoft Windows Fabric V1 CU1' 开始下载:' Windows Azure Pack:Service Bus 1.1' 安装完成(成功):' Microsoft Visual C ++ 2012 SP1可再发行组件包(x64)' Microsoft Visual C ++ 2012 SP1可再发行组件包(x64):已安装 开始安装:' Microsoft Windows Fabric V1 RTM' 已下载:' Windows Azure Pack:Service Bus 1.1' 开始下载:' Windows Azure Pack:Service Bus 1.1更新 - .NET Framework 4.6 Compa 已下载:' Windows Azure Pack:Service Bus 1.1更新 - .NET Framework 4.6兼容性 安装完成(失败):' Microsoft Windows Fabric V1 RTM' WindowsFabric_1_0_960_0:失败。 命令行参数无效。有关详细的命令行帮助,请参阅Windows Installer SDK DependencyFailed:Microsoft Windows Fabric V1 CU1 DependencyFailed:Windows Azure Pack:Service Bus 1.1 DependencyFailed:Windows Azure Pack:Service Bus 1.1更新 - .NET Framework 4.6兼容

验证安装成功... Microsoft Visual C ++ 2012 SP1可再发行组件包(x64)True Microsoft Windows Fabric V1 RTM False     日志位置:C:\ Users \ ContainerAdministrator \ AppData \ Local \ Microsoft \ Web Platform Installe Microsoft Windows Fabric V1 CU1错误 Windows Azure Pack:Service Bus 1.1错误 Windows Azure Pack:Service Bus 1.1更新 - .NET Framework 4.6兼容性(KB3086798)F 产品安装:FAILURE