Creating Windows 2016 docker host using Azure driver with docker-machine/ Protecting docker daemon in Windows

Expected behavior

Docker host on Windows Server 2016 Datacenter Technical Preview 5 should be created if you run following docker-machine command
.
PS C:\WINDOWS\system32> docker-machine create --driver azure --azure-subscription-id <my_azure_sub_id>
b --azure-image microsoftwindowsserver:WindowsServer:2016-Datacenter-with-Containers:2016.0.20161012 --azure-location southeastasia win2016tp5-vm

Actual behavior

I get an error
An error Code=“InvalidParameter” Message=“The value of parameter linuxConfiguration is invalid.”

Information

  • the output of:

    • DockerDebugInfo.ps1 using Powershell on Windows

    Running pre-create checks…
    (win2016tp5-vm) Completed machine pre-create checks.
    Creating machine…
    (win2016tp5-vm) Querying existing resource group. name=“docker-machine”
    (win2016tp5-vm) Resource group “docker-machine” already exists.
    (win2016tp5-vm) Configuring availability set. name=“docker-machine”
    (win2016tp5-vm) Configuring network security group. name=“win2016tp5-vm-firewall” location=“southeastasia”
    (win2016tp5-vm) Querying if virtual network already exists. name=“docker-machine-vnet” location=“southeastasia”
    (win2016tp5-vm) Virtual network already exists. name=“docker-machine-vnet” location=“southeastasia”
    (win2016tp5-vm) Configuring subnet. name=“docker-machine” vnet=“docker-machine-vnet” cidr=“192.168.0.0/16”
    (win2016tp5-vm) Creating public IP address. name=“win2016tp5-vm-ip” static=false
    (win2016tp5-vm) Creating network interface. name=“win2016tp5-vm-nic”
    (win2016tp5-vm) Creating virtual machine. name=“win2016tp5-vm” location=“southeastasia” size=“Standard_A2” username=“docker-user” osImage="microsoftwindowsserver:WindowsServer:2016-Datacenter-with-Containers:2016.0.20161012"
    Error creating machine: Error in driver during machine creation: compute.VirtualMachinesClient#CreateOrUpdate: Failure sending request: StatusCode=400 – Original Error: Long running operation terminated with status ‘Failed’: Code=“InvalidParameter” Message=“The value of parameter linuxConfiguration is invalid.”

  • a reproducible case if this is a bug, Dockerfiles FTW
    n/a

  • page URL if this is a docs issue or the name of a man page
    n/a

  • host distribution and version ( OSX 10.10.x, OSX 10.11.x, Windows, etc )
    Windows Server 2016 Datacenter Technical Preview 5

Steps to reproduce the behavior

Run this powershell
docker-machine create --driver azure --azure-subscription-id <my_azure_sub_id>
b --azure-image microsoftwindowsserver:WindowsServer:2016-Datacenter-with-Containers:2016.0.20161012 --azure-location southeastasia win2016tp5-vm

I am trying to set up docker host to be used from VSTS

Prerequisite for a docker host to be used from VSTS is to have ca.pem, cert.pem and key.pem files.

According to https://blogs.msdn.microsoft.com/jcorioland/2016/08/19/build-push-and-run-docker-images-with-visual-studio-team-services/, pem files gets created in in home folder after you run docker-machine commands.

Because I can’t run docker-machine, I don’t have pem files. This is preventing me from setting up docker host in VSTS.

Please suggest how do I set up docker host running on windows 2016 to be used in VSTS.
I looked at https://docs.docker.com/engine/security/https/ but these instructions are specific to Linux not Windows.