How to run Docker Desktop with Windows Containers on Amazon AWS EC2 Windows (or is this not possible)?

I have a DESKTOP machine running Windows 10 running Windows 10, Microsoft 365, Docker Desktop running in Windows Containers mode.

I have an Amazon EC2 machine running Windows Server 2019 and have installed Microsoft 365 on there too and access via RDP.

Essentially what I’d like to is create an EC2 machine which allows me to run Microsoft 365 AND Docker Desktop running in Windows Containers mode.

I’ve tried creating AWS EC2 instance and installing Docker for Desktop but I get lots of cryptic errors. (see below).

I tried using this AMI from Microsoft with Hyper-V built in https://aws.amazon.com/marketplace/server/procurement?productId=d94e0325-6111-4c69-8c29-87e784a6d0aa

[Or should I be using Docker Enterprise for this?]

[Or is it not possible to get a Windows machine which will run Docker Windows Containers on AWS at all?]

[Or do I need to choose a specific type of machine size [t4.large or whatever] – I have experienced on Microsoft Azure before that running Docker Desktop was possible only on machines of a certain spec, which allowed "virtualization on top of virtualization"]

System.InvalidOperationException:
job failed with message: ‘DockerDesktopVM’ failed to start. (Virtual machine ID 677B7F36-8A44-42CE-AD29-7884DDCE164C)

The Virtual Machine Management Service failed to start the virtual machine ‘DockerDesktopVM’ because one of the Hyper-V components is not running (Virtual machine ID 677B7F36-8A44-42CE-AD29-7884DDCE164C).
at Docker.Backend.HyperVInfrastructure.HandleUpdatedJob(CIMConcreteJob updatedJob) in C:workspacesPR-15633srcgithub.comdockerpinatawinsrcDocker.BackendHyperVHyperVInfrastructure.cs:line 762
at Docker.Backend.HyperVInfrastructure.d__38.MoveNext() in C:workspacesPR-15633srcgithub.comdockerpinatawinsrcDocker.BackendHyperVHyperVInfrastructure.cs:line 696
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Docker.Backend.HyperVInfrastructure.d__30.MoveNext() in C:workspacesPR-15633srcgithub.comdockerpinatawinsrcDocker.BackendHyperVHyperVInfrastructure.cs:line 544
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Backend.HyperV.d__6.MoveNext() in C:workspacesPR-15633srcgithub.comdockerpinatawinsrcDocker.BackendHyperVHyperV.cs:line 99
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Backend.HttpAPI.HyperVController.d__7.MoveNext() in C:workspacesPR-15633srcgithub.comdockerpinatawinsrcDocker.BackendHttpAPIHyperVController.cs:line 42
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Threading.Tasks.TaskHelpersExtensions.d__1`1.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()

Source: Docker Questions

LEAVE A COMMENT