Create a docker-machine in AppVeyor build? (Nested Hypervisor needed)

Stefan Scherer's Avatar

Stefan Scherer

30 Nov, 2015 03:55 PM

I've tried to run some Docker tests within an AppVeyor CI build, but it currently doesn't work as the AppVeyor build node does not have nested hypervisor enabled to run a 64bit VM within a build.

Is it possible to enable nested virtualization/hypervisor in AppVeyor?

I've also seen that someone tried to run Vagrant in AppVeyor and solved to run 32bit VM's, but docker-machine only has 64bit VM to run docker in it.

* http://help.appveyor.com/discussions/problems/1247-vagrant-not-working-inside-appveyor
* https://github.com/StefanScherer/windows-docker-builder/blob/master/appveyor.yml

  1. Support Staff 1 Posted by Feodor Fitsner on 30 Nov, 2015 04:01 PM

    Feodor Fitsner's Avatar

    How to enable nested hypervisor?

    - Feodor

  2. 2 Posted by Stefan Scherer on 30 Nov, 2015 05:00 PM

    Stefan Scherer's Avatar

    Good question. I have heard that the AppVeyor nodes are running on Azure, right? I don't know exact how to enable in Azure, but it is something that must be enabled in the running VM before running an inner 64bit VM nested into it.

    I only know it from VMware products including vCloud, VMware Workstation and VMware Fusion to enable that feature before starting the outer VM. For VM products it is the switch vhv.enable = "TRUE" in the .vmx file.

    I assume that something similar should be possible in Azure to start the build node VM with 'Virtualize Intel VT-x/EPT...'

    Oh, or is it something that Hyper-V will be able in the next release? https://virtualizationreview.com/blogs/everyday-virtualization/2015...

  3. Support Staff 3 Posted by Feodor Fitsner on 30 Nov, 2015 05:05 PM

    Feodor Fitsner's Avatar

    Exactly, it's going to be available in Windows Server 2016, but Windows Server 2012 Hyper-V (Pro environment) doesn't support that. OSS environment is currently run on Google Compute Engine, not Azure.

  4. 4 Posted by Stefan Scherer on 30 Nov, 2015 05:28 PM

    Stefan Scherer's Avatar

    Ah, I see. But is it possible to have a build node on GCE with nested virtualization enabled?
    Or should I try this in a private repo?

  5. Support Staff 5 Posted by Feodor Fitsner on 30 Nov, 2015 05:34 PM

    Feodor Fitsner's Avatar

    GCE doesn't support that either.

  6. 6 Posted by Stefan Scherer on 01 Dec, 2015 07:09 AM

    Stefan Scherer's Avatar

    OK, I see. Seems that Ravello does some other way to get it work. https://www.ravellosystems.com/blog/tag/nested-virtualization/

  7. 7 Posted by bazzilic on 13 Mar, 2017 09:08 AM

    bazzilic's Avatar

    Are there any updates regarding running docker containers during build/testing?

  8. Support Staff 8 Posted by Feodor Fitsner on 13 Mar, 2017 05:47 PM

    Feodor Fitsner's Avatar

    Absolutely! You can now build on Visual Studio 2017 image which is based on Windows Server 2016 and has Docker installed.

  9. 9 Posted by bazzilic on 14 Mar, 2017 01:15 AM

    bazzilic's Avatar

    Good to hear! This is not available for VS2015 image? We did not migrate yet.

  10. Support Staff 10 Posted by Feodor Fitsner on 14 Mar, 2017 04:16 AM

    Feodor Fitsner's Avatar

    Try Visual Studio 2017 image - it has VS 2015 and Docker installed.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac