Docker awesome. Anybody who wants to play around it with can do so easily with the Docker-friendly Vagrant boxes that I've built. http://blog.phusion.nl/2013/11/08/docker-friendly-vagrant-bo...
It used to be a minor pain to provision to Vagrant of the system reboot required to replace the kernel, but these boxes have already done that part for you.
Docker still has some bugs though. I hope they'll fix them quickly.
Correct me if I'm wrong, but couldn't you just make an image of the SD card and distribute that, as opposed to having people go through 88 (I counted) steps?
If their focus is on the Internet of Things and hardware applications enabled by the Pi, their next focus should be creating or linking to documentation about how to expose hardware interfaces like the Pi's GPIO to guests.
Of course a higher priority should be cleaning up the process in this article, making the install simpler, getting precompiled kernels/images out there, getting it to work with Raspbian host.
Thanks for the feedback. Hopefully the instructions in the article will be helpful to the docker team first and foremost, and adventurous hackers possibly. The hope is that this will become part of official docker, not that people will have to repeat a 100+ step process.
As a side note, getting this working on Raspbian should be feasible (consider it an exercise for the reader), we just used Arch as we've focused on that for a bunch of other things.
Happy to have this out there. We worked quite hard on this the past few weeks, hopefully it will help people see the benefit of Docker for the embedded world as they have seen it on the server side.
Isn't more expensive to run docker upon Linux and deploy your applications instead of installing the applications and it's dependencies directly on the Pi?
How is this going to work on underpowered machines such as the RPi?
Is it for applications that require a very small amount of memory? (say you can run 5 applications that consume 80 MB each?).
Maybe I erroneously tie-up Docker with web-development and web-based applications, but can you give an couple of example applications that could benefit from docker on the Pi?
Docker, actually Linux containers uses cgroup, which only isolates and priorities the resource usages, the overhead is very very low, so it does not matter much where it is used.
The point of docker is allowing you to deploy your images, or more adequately put Dockerfiles on anywhere. So, when you have a Rpi cluster, you would worry less about deployment.
Yeah, I'm working on updated instructions at the moment. You may get stuck at the step that's "Install a new kernel on the RPi." if your system is i386; Those instructions only work on x86_64, afaik.
I'm keeping a log of what I try to see if I can make things faster / better.
I, too, had the idea of utilizing Docker in the IoT - in fact, I chose that as the focus of my MSc dissertation (though my primary goal was to implement automated docker/LXC container provisioning for resources on a server to be utilized by a sensor device). I created a little open-source tool called Orchestrator (https://github.com/cvlc/orchestrator) to automatically provision docker instances on a remote server in response to DHCPv6 requests. Unfortunately, I've been side-tracked on other projects for a while and haven't really got the ball rolling yet - I'll be looking to update it fairly soon, though!
Jérôme Petazzoni (employee of Docker, formerly dotcloud) has created an excellent (I'd say essential) tool for dealing with networks under Docker called Pipework (https://github.com/jpetazzo/pipework) which is definitely worth a look if you're looking to network containers together.
I come from an Electrical Engineering/Low-level embedded background. I only just learned of Docker/Vagrant/et al., and although I can understand the utility in some contexts, I can't possibly understand the utility of running Docker on a Raspberry Pi (except as a toy exercise). What am I missing?
Very easy deployment. A Dockerfile that works on your desktop that refers to a container image can be very easily be sent to many devices and installed seamlessly.
Very nice. Even if just for marketing I think this is going to pay for itself. Many people have Raspberry Pi's lying around, semi-useless. Working on this gives me a nice a weekend-night project I can try without fear of borking something critical on my other devices, plus a new thing to play with is always welcome.
This is brilliant. This means writing software that interfaces with real world physical items is going to get much simpler, quicker and more efficient. Awesome work.
If anyone gets that done it will make us very happy! We run our servers on CoreOS, putting it on the devices as well would be awesome. AFAICT it's about getting etcd to run on the Pi, as well as any other small projects that make up CoreOS.
I looked for something like this myself - the closest I think you could get for now is a bespoke, stripped-down Gentoo with Docker. That said, there's a conversation taking place on the CoreOS mailing list that looks promising (https://groups.google.com/forum/#!topic/coreos-dev/cioNy0GjC...).
I haven't seen anything yet, but I'm very interested in this area – I've got an application that uses a bunch of RasPi nodes, and running anything like Raspbian or even PiLFS feels too heavyweight for what I ultimately want (a single networked app that runs on startup).
[+] [-] FooBarWidget|12 years ago|reply
Docker still has some bugs though. I hope they'll fix them quickly.
[+] [-] dstaley|12 years ago|reply
[+] [-] fragmede|12 years ago|reply
Install Arch Linux? Resize the root partition? Patch and build the kernel? Bootstrap and rebuild Docker?
I'm all for an easier Internet of things, but this ain't it (yet).
[+] [-] stock_toaster|12 years ago|reply
[+] [-] csense|12 years ago|reply
Of course a higher priority should be cleaning up the process in this article, making the install simpler, getting precompiled kernels/images out there, getting it to work with Raspbian host.
[+] [-] alexandros|12 years ago|reply
As a side note, getting this working on Raspbian should be feasible (consider it an exercise for the reader), we just used Arch as we've focused on that for a bunch of other things.
[+] [-] alexandros|12 years ago|reply
[+] [-] atmosx|12 years ago|reply
Isn't more expensive to run docker upon Linux and deploy your applications instead of installing the applications and it's dependencies directly on the Pi?
How is this going to work on underpowered machines such as the RPi?
Is it for applications that require a very small amount of memory? (say you can run 5 applications that consume 80 MB each?).
Maybe I erroneously tie-up Docker with web-development and web-based applications, but can you give an couple of example applications that could benefit from docker on the Pi?
thanks
[+] [-] CSDude|12 years ago|reply
The point of docker is allowing you to deploy your images, or more adequately put Dockerfiles on anywhere. So, when you have a Rpi cluster, you would worry less about deployment.
[+] [-] alexandros|12 years ago|reply
http://resin.io/blog/why-port-docker-to-the-raspberry-pi/
[+] [-] Lifescape|12 years ago|reply
The command for me was: sudo dd if=$RPIDIR/archlinux-hf-2013-07-22.img of=/dev/disk1 bs=4m
It also took about 20 minutes to write.
[+] [-] miksago|12 years ago|reply
I'm keeping a log of what I try to see if I can make things faster / better.
[+] [-] nwh|12 years ago|reply
[+] [-] miksago|12 years ago|reply
[+] [-] cvlc|12 years ago|reply
Jérôme Petazzoni (employee of Docker, formerly dotcloud) has created an excellent (I'd say essential) tool for dealing with networks under Docker called Pipework (https://github.com/jpetazzo/pipework) which is definitely worth a look if you're looking to network containers together.
[+] [-] Zuph|12 years ago|reply
[+] [-] timClicks|12 years ago|reply
[+] [-] rolleiflex|12 years ago|reply
[+] [-] singular|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] slaxman|12 years ago|reply
[+] [-] TheMakeA|12 years ago|reply
Anyone have any ideas?
[+] [-] alexandros|12 years ago|reply
[+] [-] voltagex_|12 years ago|reply
However, I think there are better ARM targets for Docker, but for publicity and to get the ball rolling - you can't go past the Pi.
[+] [-] cvlc|12 years ago|reply
[+] [-] matthewmacleod|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] fredrikcarno|12 years ago|reply
[+] [-] doelie_|12 years ago|reply
[+] [-] vertis|12 years ago|reply
[+] [-] overdrev|12 years ago|reply
[+] [-] consonants|12 years ago|reply