How can I run both Docker and Android Studio Emulator on Windows?
I was in the same situation and I think I came to a solution just a minute ago. The trick is to rely on VirtualBox to host the Docker engine. And the good news is that you can setup this using only docker commands !
Create virtualbox Docker machine
The command below will create a virtualbox machine that will run the actual Docker environment. It will download an image and setup everything for you.
> docker-machine create --driver virtualbox default
Once it has finished, you can check if the machine has been successfully created using the docker-machine ls
command.
> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Running tcp://192.168.99.100:2376 v17.04.0-ce
Setup shell
The machine has been created but the shell still need to be configured to access this remote Docker instance. The environment variables to set can be obtained using the docker-machine env default
command. The output will be automatically adapted to the shell you are using (Powershell in the example below).
> docker-machine env
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://192.168.99.100:2376"
$Env:DOCKER_CERT_PATH = "C:\Users\DummyUser\.docker\machine\machines\default"
$Env:DOCKER_MACHINE_NAME = "default"
$Env:COMPOSE_CONVERT_WINDOWS_PATHS = "true"
# Run this command to configure your shell:
# & "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env | Invoke-Expression
Note that the last few lines returned by this command will tell you how to automatically apply the environment variables with a single command. You still can simply copy/paste the commands in your terminal.
Run docker !
That's it ! Now, you can run a simple docker command to make sure everything runs smoothly !
> docker run busybox echo hello world
Unable to find image 'busybox' locally
Pulling repository busybox
e72ac664f4f0: Download complete
511136ea3c5a: Download complete
df7546f9f060: Download complete
e433a6c5b276: Download complete
hello world
Source: https://docs.docker.com/machine/get-started/
Android emulators can now run on Hyper-V. From @tmanolatos answer, here are the steps:
In start menu search for
Turn Windows Features on or off
Check the box
Windows Hypervisor platform
:You may be required to sign out of your system and sign back in
Docker and Android Studio Emulators should work together with no issue
For more details refer to Configure VM acceleration on Windows.