We have docker 0.10 working in our i.MX6 now.
Using the following link when I compile (so far it's on the target board) github.com/archlinuxarm/PKGBUILDs/tree/master/community/docker
Remember to include libc.a and libpthread.a in your image, since docker is statically including this libraries.
You also need to add a couple of things in the kernel (menuconfig), but I'll include this list later plus I also added a few things in local.conf.
We had more luck to use lxc instead of libcontainer (docker -d -e lxc)
I managed to get docker to start up now.
So far I haven't had time to see if I can create a docker container yet (will try that either today or later this week).
But when I start docker it looks promising:
[/var/lib/docker|1318a470] +job serveapi(unix:///var/run/docker.sock)
[/var/lib/docker|1318a470] +job initserver()
[/var/lib/docker|1318a470.initserver()] Creating server
2014/04/17 23:05:32 Listening for HTTP on unix (/var/run/docker.sock)
bio: create slab <bio-1> at 1
device-mapper: thin: Data device (loop0) discard unsupported: Disabling discard passdown.
[/var/lib/docker|1318a470] +job init_networkdriver()
[/var/lib/docker|1318a470.init_networkdriver()] creating new bridge for docker0
[/var/lib/docker|1318a470.init_networkdriver()] getting iface addr
[/var/lib/docker|1318a470] -job init_networkdriver() = OK (0)
2014/04/17 23:05:34 WARNING: cgroup mountpoint not found for memory
Loading containers: : done.
[/var/lib/docker|1318a470.initserver()] Creating pidfile
[/var/lib/docker|1318a470.initserver()] Setting up signal traps
[/var/lib/docker|1318a470] -job initserver() = OK (0)
[/var/lib/docker|1318a470] +job acceptconnections()
[/var/lib/docker|1318a470] -job acceptconnections() = OK (0)
When i have everything up an running, I'll write down the procedure I did you make it working.
We have docker 0.10 working in our i.MX6 now.
Using the following link when I compile (so far it's on the target board) github.com/archlinuxarm/PKGBUILDs/tree/master/community/docker
Remember to include libc.a and libpthread.a in your image, since docker is statically including this libraries.
You also need to add a couple of things in the kernel (menuconfig), but I'll include this list later plus I also added a few things in local.conf.
We had more luck to use lxc instead of libcontainer (docker -d -e lxc)
After I managed to include the GO application, I managed to compile the docker (getting ideas from following link: Docker on Raspberry Pi).
Right now I'm trying to figure out how to enable the AUFS, since docker seems to be depending on this.
Thank you for trying to get this working. I think docker on i.MX would open up some interesting possibilities for testing and deployments.
What version of docker are you trying? According to the docs AUFS isn't required as of version 0.7
I managed to include the device-mapper.
But now it complains that it can "find' mkfs.ext4.
I have notice before that I can't use the mkfs command. it always complains that either .ext2 or .ext3 or .ext4 is missing.
So now is a good time to figure this thing out.
Hi Thomas.
I'm trying with docker version 0.7.1., since I wanted to avoid the dependency on AUFS (which is not part of the i.mx kernel).
I had to do some patches in some file, for it to even be able to "compile/run" on a 32bit ARM (since it was limited to amd64).
Now I'm just trying to fix some other problems, which has to do with the device-mapper.
By the way, do you know if it's possible to add the device-mapper in the image?
This seems to be one problem, that I don't have /dev/mapper in my build.
For the moment I'm doing this on the side, since we don't need to have this working for some time.
But I'll update this when I have more progress.
/Niklas