azukiapp/azk

Why do you require VirtualBox on MacOS?

Opened this issue · 4 comments

korya commented

Your tool looks really interesting and I would like to use it. But my main problem is the requirement of VirtualBox on MacOS.

I know that because docker cannot run natively on MacOS, the common workaround is to run Linux in VM and run the docker daemon in that VM.

But as far as I understand azk should not care where it runs. If docker client is well configured and can communicate to a docker daemon, azk should work. It should not matter whether the docker daemon runs natively on my machine, or I have configured DOCKER_HOST to a remote machine running docker daemon, or DOCKER_HOST points to a VM running locally (whether it's VirtualBox, Parallels or any other VM).

Am I right? or is there any other good reason to require VirtualBox on MacOS?

Another question, is it possible to run azk as is today in the following setup:

  • docker daemon is installed on a remote linux machine (actually a LAN linux machine)
  • docker client and azk are invoked on MacOS, DOCKER_HOST set to an IP of that remote linux machine.

In order to make things really simple in the first versions of azk for Mac OS X, we chose to create an abstraction to run docker

Thus we use a custom virtual machine, with file sharing and DNS resolution. This way, users don't have to configure docker themselves.

Unfortunately, as of now, azk doesn't support the functionality you asked about.

However, it's on our short term roadmap. Remember: azk is 0.15.0 yet. And we wanted to focus on simplicity and a "plug-and-play" experience first.

I really like the idea of being able to choose the underlying VM. so +1

It's in fact a great idea, @pkyeck!

We have this intention, but we still have to add support to other VM platforms.

Currently we use VBoxManage and this limit our support to VirtualBox.

In order to add support to other VM platforms, it's needed to create a separated lib which will abstract the VM to azk, working as an adapter. In this way, it'll be way simpler to extend this component and add other VM platforms and even other virtualization types, such as xhyve.

docker now is testing new docker app for Mac/Windows, and No more VirtualBox! On Mac, the Docker Engine runs in an xhyve Virtual Machine (VM) on top of an Alpine Linux distribution.

Click for details: https://beta.docker.com/docs/features-overview/