Docker for DroneKit?

202 views
Skip to first unread message

Chris Anderson

unread,
May 29, 2015, 12:08:30 AM5/29/15
to drones-discuss
We've been talking about ways to make the DroneKit toolchain installation easier for Linux, WIndows and OSX.  One option is an Installer, but that's hard to build and maintain across platforms. 

What about using Docker? It's open source, very popular and and at first glance seems perfect for this. 

Chris

--
Chris Anderson
CEO, 3D Robotics

Anish Mohammed

unread,
May 29, 2015, 2:35:15 AM5/29/15
to drones-...@googlegroups.com
Hi Chris,
Docker definitely sounds like a workable preposition.
Regards
Anish 

Anish Mohammed
Twitter: anishmohammed
http://uk.linkedin.com/in/anishmohammed
Skype: thecryptic
--
You received this message because you are subscribed to the Google Groups "drones-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drones-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Andy Piper

unread,
May 29, 2015, 6:00:31 AM5/29/15
to drones-...@googlegroups.com
Or vagrant. I use this all the time for building the firmware.

andy

David Cheney

unread,
May 29, 2015, 8:41:57 PM5/29/15
to drones-...@googlegroups.com
or boot2docker, which is essentially both of those things (vagrant+docker) in a handy package...

Andy Piper

unread,
May 30, 2015, 5:13:14 AM5/30/15
to drones-...@googlegroups.com
boot2docker is a mechanism for running docker on platforms that don't support lxc

Chris Anderson

unread,
Jun 1, 2015, 1:06:18 AM6/1/15
to drones-discuss
If our DroneKit documenation is any guide, Vagrant involves a pretty complicated multi-step installation process: 
  1. Download and install VirtualBox
  2. Download and install Vagrant
  3. Run some command line stuff to actually run the app you want. 
What I'm looking for is a single executable that just does everything with a single click, like a Windows installer. 

Maybe the solution is indeed Windows & OSX installers, but I was hoping that there was an easier cross-platform solution to this. 

-c

--
You received this message because you are subscribed to the Google Groups "drones-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drones-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

pritam....@gmail.com

unread,
Jun 1, 2015, 5:06:52 AM6/1/15
to drones-...@googlegroups.com
Qt creates and distributes their native executables with their own installer framework called Qt Installer Framework. I have never used it till now but I guess it will be flexible enough to create all kinds of installer executables.

PS: I am not fully aware of the scope of this discussion, I just saw the last mail discussing an installer. 

Regards,
Pritam
Regards,
pritam

Hamish Willee

unread,
Jun 1, 2015, 7:21:53 PM6/1/15
to drones-...@googlegroups.com
Hi Chris

The instructions explain how to set up SITL (using Vagrant - the bit you point to) and how to set up DroneKit and talk to it (and real devices). If all we wanted to do was talk to SITL we could simplify the instructions and have everything (DK and SITL in that one Vagrant instance) - but we couldn't then use the same DK setup to talk to a real device. I proposed this configuration for the quickstart originally but we decided that this would be confusing for users who wanted to "quickstart" talking to a real device.

In any case, Docker is another solution to Vagrant for hosting SITL , it is not an "all in one" solution for setting up both SITL and a separate instance of DroneKit to talk ot it. 

I completely agree with your point/requirement though. I had a discussion on this a few weeks ago and there is some work going on to improve the situation. Now we can build SITL natively on Windows Michael Oborne is working to integrate SITL as part of Mission Planner. I would hope he is also embedding DroneKit so we can run scripts to that SITL instance. At that point DK on Windows at least becomes very easy. [And as an aside, I'm hoping we'll also get some decent debugger integration too :-0]. I also asked for the Windows installation of MAVProxy to include DK: Dronecode/MAVProxy/issues/148. If any of those deliver the instructions on Windows will be much simpler.

In theory you could also build SITL for Mac and have a similar solution. For now though, you still need vagrant for the simulation side of things.

Cheers
H

Andy Piper

unread,
Jun 2, 2015, 4:28:05 AM6/2/15
to drones-...@googlegroups.com
Right. If you are taking a virtualized approach then installing multiple packages is standard - it's the same for boot2docker, they just wrap up the virtualbox installer in their own installer. You could do this yourself given that its (docker) all open source - not sure how much work, but certainly possible.

FWIW I am very negative on the native windows tooling. Mingw sucks for any kind of performance - building inside a Linux VM is so much faster than native and if you start factoring in FS optimizations (e.g. rsync) it gets even better. I personally believe that Vagrant/Linux is the way to go here - all the advantages with few of the downsides.

andy

Hamish Willee

unread,
Jun 2, 2015, 5:52:52 AM6/2/15
to drones-discuss
>FWIW I am very negative on the native windows tooling. Mingw sucks for any kind of performance - building inside a Linux VM is so much faster than native and if you start factoring in FS optimizations (e.g. rsync) it gets even better. I personally believe that Vagrant/Linux is the way to go here - all the advantages with few of the downsides.

The requirement is to get a very simple (ideally single-step installer) for DroneKit and SITL. There need not be any building and the simulation on Windows is more than fast enough. I see Vagrant as the solution for Mac, but I think getting that "single step" installation on windows will be much more likely using Mission Planner and a Windows build of SITL. Happy to be wrong.


--
You received this message because you are subscribed to a topic in the Google Groups "drones-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/drones-discuss/wHhI6TX4me8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to drones-discus...@googlegroups.com.

Andy Piper

unread,
Jun 4, 2015, 7:43:43 AM6/4/15
to drones-...@googlegroups.com
If you are not building anything then I agree Vagrant is not the right choice.
Reply all
Reply to author
Forward
0 new messages