Open develar opened 9 years ago
I'd be interested in this to enable our use of vmware fusion.
:+1: I really dig this one!
@ryansch Exactly. Regardless of performance (Vmware is closer, http://www.tekrevue.com/parallels-10-fusion-7-virtualbox-benchmark/), vagrant allows to customize VM more precisely (for example, by default, VirtualBox consumes more than 1GB RAM — vagrant parallels box just restricted to 512 MB and it is enough).
:+1:
:+1:
I would vote for supporting VMware Fusion with docker machine.
:+1:
+1 for the ability to specify a driver for docker-machine!
Looks like you can work around this for now by using docker-machine
to create and configure a box with whatever driver you like. Just call it dev
and it looks like Kitematic will just use that one.
After installing kitematic and starting it up for the first time:
# Kitematic creates a virtualbox vm via docker-machine - this is hard-coded for now.
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev * virtualbox Running tcp://192.168.99.100:2376
# close kitematic
# remove the default vm
$ docker-machine rm dev
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
# create a new `dev` machine with whatever driver you like:
$ docker-machine create dev -d vmwarefusion
INFO[0000] Creating SSH key...
INFO[0000] Creating VM...
INFO[0000] Starting dev...
INFO[0000] Waiting for VM to come online...
INFO[0042] "dev" has been created and is now the active machine.
INFO[0042] To point your Docker client at it, run this in your shell: $(docker-machine env dev)
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev * vmwarefusion Running tcp://192.168.133.132:2376
# start Kitematic - it will say it is "Starting Docker VM",
# but it is really just using the one you created:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev * vmwarefusion Running tcp://192.168.133.132:2376
You can now start containers, etc using the Kitematic UI and they will use the dev
vm you created manually.
So far the only thing I have found that doesn't work is using the Kismatic UI to browse/edit files you have mounted as volumes in the container. They must be setting that up using a mount from the virtualbox vm created with vbox commands, or something along those lines. That is one limitation for the work-around and something else that will have to be implemented for each driver or in a more generic way.
Using the manual method is fine - except I don't want to install VirtualBox at all, it messes with networks etc, so it would be nice to be able to skip the VB install.
Yep. Good point. I tried uninstalling VirtualBox, but Kitematic installed it again the next time it started up.
Just went to try it and saw it started downloading Virtualbox without even prompting - had to quickly kill it off.
I already have boot2docker and docker machine setup with VMware Fusion which is a lot faster and more reliable than Virtualbox - it would be nice if Kitematic recognised this.
Hi all. Thanks for creating this issue!
The good news is that we use docker-machine under the hood, which is quickly adding support for different providers such as VMware fusion etc.
I'll mark this as a feature for adding different providers, but also understanding that it's inconvenient to automatically install VirtualBox if that's not what's expected.
Just to follow up on my earlier comment, it looks like the host volume support is provided by docker machine host drivers and host volume mounting is not yet supported by the vmwarefusion driver: https://github.com/docker/machine/issues/641.
@dougborg Is host volume mounting required to get kitematic to work? I wrote the Parallels Desktop driver and is eager to add support for it in kitematic but it currently lacks host volume mounting because of legal issues with the drivers.
Is there any work done on abstracting out the "driver" layer?
@rickard-von-essen I don't get your note about parallels. Host volumes works perfectly – specified in my vagrant file (config.vm.synced_folder "/Users/develar", "/Users/develar").
@develar But not in docker-machine + boot2docker.iso since it requires that boot2docker.iso to include Parallels Tools which is currently not supported by the EULA see 1.7. Parallels Tool on http://www.parallels.com/about/legal/eula/ .
@rickard-von-essen: I think host volume support is important in the context of this user story / feature: adding support for other docker-machine providers. While I am sure there are some situations where mounting volumes from the OSX host is not needed, I find it is necessary in most of the work I do with Docker. Kitematic already has a nice interface built up around mounting and viewing contents of host volumes and I think it would be a shame for those features to be unavailable if you use another provider. If you provide support for other providers without the host volume mounting feature, I suspect it would confuse users.
+ 1 on this one !!! On Mac Os x nothing compare to vmware Fusion when using virtualization :
It used to be only Virtual Box around me, But nowadays i see a lot of people now swithing to Fusion for all the reason mention above . It's a growing user base of Fusion on Mac OS happening . And Yes please Host Volume support is a must for any productive workflow between Host-VM-Docker
Please add this!
I just came across KiteMatic and thought this looks cool!
But then I saw it used VirtualBox
Please add the ability to use VMFusion!
Thank you
@jchannon Hah! Loved this comment. Thanks for the feedback :smiley:
:+1: Fusion user here
See details here — https://github.com/docker/machine/pull/939#issuecomment-94168085 "Parallels are working on Parallel Tools for boot2docker."
@jeffdm how goes the progress for this feature?
@jchannon Right now we're working to nail the (default) virtualbox experience but this is strongly in demand.
That said, this is strongly in demand. Both so KM users can deploy an app to a cloud server or use alternative Desktop virtualization system.
:+1: Also want VMWare Fusion support. :D Thanks!!
Fusion supported wanted :+1: (will try the manual way in between, but I also have limited space on my macbook, so this would be great to be able to uninstall virtualbox)
Definitely a :+1: here too. I support the developer machines at my workplace and we use a mix of Vagrant+VMWare and Vagrant+Virtualbox. It would be great if Virtualbox wasn't a requirement.
Another thumbs up from me on this feature - would be awesome to be able to use VMware Fusion on my Macbook.
:+1: for Parallels or anything else but VirtualBox!
Yet another bloke looking forward to VMware Fusion support. (^_^)
VMWare Fusion support, please. Think of the children.
+1 for me too, I'm all about VMware Fusion :smile: Perhaps at a minimum, please don't install Virtualbox automatically and provide some instructions on creating the required VM in the terminal.
Should go something like this:
# Download and install docker-machine
curl -L -o /usr/local/bin/docker-machine https://github.com/docker/machine/releases/download/v0.3.0/docker-machine_darwin-amd64
# Make docker-machine executable
chmod +x /usr/local/bin/docker-machine
# Create the dev docker machine for use with Kitematic
docker-machine create --driver=vmwarefusion dev
# Add docker-machine initialisation to bash profile
echo 'eval "$(docker-machine env dev)"' >> ~/.bash_profile
I can confirm this procedure works as expected. Right now the biggest issue is that Kitematic forces us to install Virtualbox (ewwwww ....).
Cheers Fotis
P.S.: Kitematic is awesome, thank you so much for developing and also making it open source!!
+1 for not installing Virtualbox automatically, but provide an option to select the desired vm provider (vmware, parallels, etc).
+1 for not installing Virtualbox automatically from me as well.
Supporting the settings:
DOCKER_CERT_PATH DOCKER_CLIENT_TIMEOUT DOCKER_HOST DOCKER_TLS_VERIFY
Will let Kitematic be more than a toy. If these are supported, you could deploy to production with it on a platform like Joyent's Triton.
Working on this with upcoming PR. https://github.com/timfallmk/kitematic. Will add support for all docker-machine supported backends eventually. This is the continuation of a project from DockerCon Hackathon 2015.
Thank you so much, that would be awesome!! :smile:
@timfallmk just checked your readme and the small screencast. This looks really awesome, would love to see this merged soon. What about to use docker-machine ls
to discover all locally defined Docker engines and displays this list to the user for a preselection?
Ping @jeffdm.
+1 for supporting alternate providers such as VMware Fusion (my first choice) +1 for not requiring installation of VirtualBox
I also prefer VMware Fusion over Virtualbox. I would also be happy to he test code to get this working.
Just a status update to this issue. Progress is being tracked over here and we're moving along quite well!
@timfallmk Thanks! Just for your information: Parallels driver for Docker Machine is on the way: https://github.com/docker/machine/pull/939 It would be great to get supported in Kitematic as a yet another local provider.
@legal90 That's awesome! As we discussed for the project (and you can see in the timeline), we're probably going to stick to a limited set of drivers for the first "MVP" release in a few months, but the idea is to add support for everything machine supports eventually.
@timfallmk What about providers that don't need any special settings? For example a remote Docker server setup with the standard docker environment variables like:
DOCKER_CLIENT_TIMEOUT
DOCKER_CERT_PATH
DOCKER_HOST
DOCKER_TLS_VERIFY
@dekobon Are you suggesting using the machine "generic" driver for that kind of input? If so, how would you like to see the UI flow for inputting that kind of endpoint?
@timfallmk I envision a generic driver that can be selected where you can enter in values for all of the docker variables or optionally load them from a config file. If this was possible it would be easy to test kitematic against many platforms. In fact, this seems like it should be on the top of the list for support because it is vendor agnostic and in fact supporting the docker way of doing things. On Jul 29, 2015 2:50 PM, "Tim" notifications@github.com wrote:
@dekobon https://github.com/dekobon Are you suggesting using the driver "generic" driver for that kind of input? If so, how would you like to see the UI flow for inputting that kind of endpoint?
— Reply to this email directly or view it on GitHub https://github.com/kitematic/kitematic/issues/231#issuecomment-126107101 .
@dekobon Actually the "generic" driver is just meant to cover platforms that machine doesn't specifically support. Since we want the process to be as easy as possible, we wouldn't necessarily encourage that right away. However, seeing that it would be relatively trivial to add a settings page for manual "generic" provider input, this could possibly be added to the list.
First and foremost we'd like to get the specific drivers working so people can "one click" use them.
I cannot use VirtualBox because I don't have enough memory for it — Parallels Desktop is much better and I have configured vagrant box. https://github.com/Parallels/vagrant-parallels/issues/115
So — I just want to open Kinematic and Kinematic should not install VirtualBox/boot2docker — use existing installation (DOCKER_HOST env).