3

I can boot and run Snappy Ubuntu Core on the Pi 2, but there are very few apps and frameworks currently available for the ARM version of Snappy. This wouldn't be a major problem if the Docker framework was available, as one of the main use-cases for Snappy is to provide a minimal OS on which to deploy container systems like Docker. Currently the Docker framework is missing from Snappy on ARM. However, I know that Docker has been ported to Arch on the Pi, so there doesn't seem to be any reason not to have Docker on Snappy for the Pi 2. Does anyone know if a Docker framework is planned, and if so, what the expected time-scale might be?

1
  • I notice it is not in the fedora 21 ARM repos either, which is odd since lxc is. You could try Arch for armv7.
    – goldilocks
    Commented Feb 15, 2015 at 17:24

3 Answers 3

1

Just a word of warning. This may not be as useful as you think. Even if you succeed in getting docker running on the PI, you'll have to find containers that were built with the PI in mind. You cannot run x86 or amd64 compiled software on ARM, even if it's in a container.

1
  • docker-qemu anyone? :P Commented Apr 16, 2015 at 4:21
1

If you try the Arch Linux image you can get docker going, as smokes2345 says you cant use much in the docker repo but you can create your own stuff and it'll run. Docker was at 1.5 at the time of writing so its quite up-to-date too.

As I understand the Docker hub/repo is x86_64 only at the moment, and doesn't work too well for ia32 either and definitely not Snappy for the Pi. If instead you wanted to get Docker going on the Pi2 using Arch here's a guide on what I did.

Whilst its a bit uphill you can build a base image from the Arch Raspberry pi tar file using docker import then create a Dockerfile to make it 'do stuff'.

I've had it running sqlite3 and python3 in a container, admittedly that's pretty lame but it does work.

The below is very much 'what-if?' the image is about 1GB (!) but hopefully gets you going, can fix the image later. This assumes you are root and you've updated arch with

pacman -Syy
pacman -Su

Anyway, to build my base image I did

# install docker and lxc
pacman -S docker lxc wget
# download the arch image
wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
# build a base image from it
cat ArchLinuxARM-rpi-2-latest.tar.gz | docker import - archarm:test2

it takes a minute or two but you should then see something like

14959a4d75379ec943f6303a59109aebe1763971586812cd074f652c466cf16d

and if you type

docker images

you should see, in the list,

archarm             test2               14959a4d7537        6 minutes ago   

with the start of that long ID - yours will be different.

you should then be able to run this image as a container using

docker run -t -i --name toby archarm:test2 /bin/bash

and there is Arch on the Pi2 running a container from Docker 1.5 :)

For a slightly less trivial example if you create a Dockerfile (this is case sensitive) in a directory and add

#use base image
FROM archarm:test2

#update to get the current repos
RUN pacman -Syy

#fetch sqlite
RUN pacman -S sqlite3 --noconfirm

ENTRYPOINT sqlite3 testdb

then build this using

docker build --tag arch:sqlite3 .

you should be able to start a container directly into Sqlite3

docker run --name toby8 -t -i arch:sqlite3

and Sqlite3 should greet you with

SQLite version 3.8.9 2015-04-08 12:16:33
Enter ".help" for usage hints.
sqlite>

Then its over to you to build your containers by hand :(, hope that helps though.

And yes, Ubuntu Snappy on the Pi2 seems a bit pointless out-of-the-box since there are no frameworks available and nothing does anything, except maybe that Go server?

0

Ubuntu Snappy image on the Pi(ubuntu-15.04-snappy-armhf-raspi2.img) running Docker.

Step-by-Step Here

1
  • Welcome to Raspberry Pi! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.
    – Ghanima
    Commented Jun 16, 2016 at 17:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.