Docker build fails when deploying to Service Fabric Local Cluster

  • Thread starter Thread starter Ben Geerdes
  • Start date Start date
B

Ben Geerdes

Guest
Immediately after my PC startup I build an app using docker in a powershell window:

PS C:\WINDOWS\system32> docker build -t xpndr.ats:dev "D:\Users\Ben\Source\Repos\GSXproto
Sending build context to Docker daemon 2.247MB
Step 1/5 : FROM microsoft/dotnet:2.0-runtime-nanoserver-sac2016
2.0-runtime-nanoserver-sac2016: Pulling from microsoft/dotnet
bce2fbc256ea: Pull complete
e7a598ed389e: Pull complete
cbcdf56d534b: Pull complete
50b3bcd27f3b: Pull complete
4fbf119dae04: Pull complete
9503a4f05f2e: Pull complete
515649a708d5: Pull complete
d2ab2775089a: Pull complete
e8fc172f373a: Pull complete
Digest: sha256:4fff7e6e352e0cb1999fa17483ff104945cb68e28e9035d725fbcdcc801d979e
Status: Downloaded newer image for microsoft/dotnet:2.0-runtime-nanoserver-sac2016
---> 44747f5a7e4c
Step 2/5 : ARG source
---> Running in aa2368bea06a
Removing intermediate container aa2368bea06a
---> 043d17f63a2b
Step 3/5 : WORKDIR /app
Removing intermediate container d253e551b6d0
---> 2dc920619a63
Step 4/5 : COPY ${source:-obj/Docker/publish} .
---> 1e490815f38a
Step 5/5 : ENTRYPOINT ["dotnet", "Xpndr.Ats.dll"]
---> Running in 4d9509aa5511
Removing intermediate container 4d9509aa5511
---> 780ee003cb7f
Successfully built 780ee003cb7f
Successfully tagged xpndr.ats:dev

If I keep doing this it works every time.

Now I goto Visual Studio with a solution containing a Service Fabric app that has this same Xpndr.Ats as Container to publish.

When I publish the SF project I get this:

7>Local Service Fabric Cluster created successfully.
7>--------------------------------------------------
7>Launching Service Fabric Local Cluster Manager...
7>You can use Service Fabric Local Cluster Manager (system tray application) to manage your local dev cluster.
7>Finished executing script 'Set-LocalClusterReady'.
7>Time elapsed: 00:00:31.1985875
7>Started executing script 'GetApplicationExistence'.
7>Finished executing script 'GetApplicationExistence'.
7>Time elapsed: 00:00:04.8168408
7>Started executing script 'GetApplicationExistence'.
-------- Package started: Project: Xpndr.SF, Configuration: Debug x64 ------
7>Finished executing script 'GetApplicationExistence'.
7>Time elapsed: 00:00:04.7699372
Controllers\PublishController.cs(19,42,19,62): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Controllers\PublishController.cs(38,42,38,54): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Controllers\PublishController.cs(57,42,57,52): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Controllers\ListenController.cs(88,30,88,32): warning CS0168: The variable 'ex' is declared but never used
Controllers\ListenController.cs(26,42,26,53): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Controllers\PublishController.cs(76,42,76,47): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Controllers\PublishController.cs(95,42,95,46): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Controllers\PublishController.cs(12,40,12,46): warning CS0169: The field 'PublishController._proxy' is never used
Xpndr.WebService -> D:\Users\Ben\Source\Repos\GSXproto\WebService\bin\Debug\netcoreapp2.0\win7-x64\Xpndr.WebService.dll
Xpndr.WebService -> D:\Users\Ben\Source\Repos\GSXproto\WebService\obj\Debug\netcoreapp2.0\win7-x64\PubTmp\Out\
Done building project "Xpndr.WebService.csproj".
Program.cs(78,30,78,32): warning CS0168: The variable 'ex' is declared but never used
Xpndr.Ats -> D:\Users\Ben\Source\Repos\GSXproto\Xpndr.Ats\bin\Debug\netcoreapp2.0\Xpndr.Ats.dll
Xpndr.Ats -> D:\Users\Ben\Source\Repos\GSXproto\Xpndr.Ats\obj\Docker\publish\
Done building project "Xpndr.Ats.csproj".
time="2018-06-21T12:09:13+02:00" level=error msg="failed to dial gRPC: unable to upgrade to h2c, received 500"
context canceled
D:\Users\Ben\Source\Repos\GSXproto\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.6\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets(387,5): error MSB3073: The command "docker build -t xpndr.ats:dev "D:\Users\Ben\Source\Repos\GSXproto\Xpndr.Ats"" exited with code 1.
Done building project "Xpndr.SF.sfproj" -- FAILED.
-------- Package: Project: Xpndr.SF failed, Time elapsed: 00:00:22.0200583 --------
7>Started executing script 'Deploy-FabricApplication.ps1'.
7>powershell -NonInteractive -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command ". 'D:\Users\Ben\Source\Repos\GSXproto\X-Ponder\Scripts\Deploy-FabricApplication.ps1' -ApplicationPackagePath 'D:\Users\Ben\Source\Repos\GSXproto\X-Ponder\pkg\Debug' -PublishProfileFile 'D:\Users\Ben\Source\Repos\GSXproto\X-Ponder\PublishProfiles\Cloud.xml' -DeployOnly:$false -ApplicationParameter:@{} -UnregisterUnusedApplicationVersionsAfterUpgrade $false -OverrideUpgradeBehavior 'None' -OverwriteBehavior 'SameAppTypeAndVersion' -SkipPackageValidation:$false -ErrorAction Stop"
7>Test-ServiceFabricApplicationPackage : The BuildLayout of the application in C:\Users\Ben\AppData\Local\Temp\TestApplicationPackage_3928169498\jytr0gqk.tse\Debug is invalid. File ApplicationManifest.xml is missing.
7>At C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricSDK\Publish-NewServiceFabricApplication.ps1:131 char:38
7>+ ... tionSuccess = (Test-ServiceFabricApplicationPackage $AppPkgPathToUse)
7>+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7> + CategoryInfo : InvalidOperation: (:) [Test-ServiceFabricApplicationPackage], FabricImageBuilderValidationException
7> + FullyQualifiedErrorId : TestApplicationPackageErrorId,Microsoft.ServiceFabric.Powershell.TestApplicationPackage
7>
7>Finished executing script 'Deploy-FabricApplication.ps1'.
7>Time elapsed: 00:00:10.2189031
7>The PowerShell script failed to execute.
========== Build: 6 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========


>>>>error MSB3073: The command "docker build -t xpndr.ats:dev "D:\Users\Ben\Source\Repos\GSXproto\Xpndr.Ats"" >>exited with code 1.

So this part fails, the same command that I executed in the powershell module.

And the error is : time="2018-06-21T12:09:13+02:00" level=error msg="failed to dial gRPC: unable to upgrade to h2c, received 500" context canceled

And if I now go back to the powershell window (I did not close it) and execute the same build again, I get:

PS C:\WINDOWS\system32> docker build -t xpndr.ats:dev "D:\Users\Ben\Source\Repos\GSXproto\Xpndr.Ats"
ERRO[0000] failed to dial gRPC: unable to upgrade to h2c, received 500
context canceled

And resetting docker does not resolve this, the only way to get it building again is to actually reboot the PC.

Any idea??

Ben

Continue reading...
 
Back
Top