docker : When creating a machine, VT-X/AMD is enabled yet

13,194

Solution 1

I'm in a VM already , running ubuntu. Physical host is a windows machine

Then you don't need docker-machine.

You would create a small Linux image from windows with (again, type in a regular Windows CMD shell)

docker-machine create -d virtualbox dev

But on a full-fledged Ubuntu VM, you just need to install docker and run it directly.

If you need to use docker-machine, just copy (on Windows) v0.6.0-rc1/docker-machine_windows-amd64.exe as docker-machine.exe anywhere you want.
Also: set VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\ (if your VirtualBox is installed there)

You now can use docker-machine -d virtualbox dev.

2) Will the ubuntu box, be able to do the docker-compose and build the container on that host?

Yes, no issue there. The installation is straightforward.

3) If I'm pulling an image like debian, how can I use it as a machine and build an container on top of it?

You simply write a Dockerfile starting with FROM debian:jessie (see an example here), add some commands (RUN, COPY, ...): for instance:

FROM debian:stable
RUN apt-get update && apt-get install -y --force-yes apache2
EXPOSE 80 443
VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2"]
ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

Build it (docker build .)and run it (docker run).

Solution 2

If you do not want to change the BIOS settings, please run the below command. I have the same problem because I have Hyper-V manager installed in my Windows 8 server. To avoid this issue I ran the below with the below option

--virtualbox-no-vtx-check
Example: docker-machine create default --virtualbox-no-vtx-check
Share:
13,194
Andy K
Author by

Andy K

Often Rubber Duck-ing You can find me in the SQL chat room

Updated on June 18, 2022

Comments

  • Andy K
    Andy K almost 2 years

    I'm going through this tutorial

    Dockerizing Flask With Compose and Machine - From Localhost to the Cloud

    When trying to create a virtualbox with the command below

    docker-machine create -d virtualbox dev;
    

    I have the following error

    Error creating machine : Error in driver during machine creation. This computer doesn't have VT-X/AMD enabled. Enabling it in the BIOS is mandatory

    (Addendum: I'm running an ubuntu image on a virtual box. The physical host is a windows machine. The VT VT-X/AMD is enabled both , in the bios and in the virtualbox.)

    Reading here and there, it seems to be a normal behavior because I'm trying to create a virtualbox within a virtualbox -> Click here for the explanation

    What command should I use instead of docker-machine ?

    Any insights are more than welcomed ...

    Update: I've asked 3 additional questions to @VonC after his initial answer. Please find the questions below , in italic

    1) How should I make the virtualbox and the docker config see that new "virtualbox"?

    2) Will the ubuntu box, be able to do the docker-compose and build the container on that host?

    3) If I'm pulling an image like debian, how can I use it as a machine and build an container on top of it?