i’m tryng to run a docker version of cartodb on my raspberrypi3
with this command
docker run -d -p 3000:3000 -p 8080:8080 -p 8181:8181 sverhoeven/cartodb
all downloads are ok
but i recieve this error:
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
0e7e63c7483395d0d27cfb1d92feba8edea685b67e1a566fe12a44a684f421d4
Error
response from daemon: Cannot start container
0e7e63c7483395d0d27cfb1d92feba8edea685b67e1a566fe12a44a684f421d4: [8]
System error: exec format error
pi@raspberrypi:~/Desktop/cartodb/docker-cartodb $ docker run -d -p 3000:3000 -p 8080:8080 -p 8181:8181 sverhoeven/cartodb
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
004898a491b37d66d351cd1feb301559d4adc51e293fca7f74742694cda0e7c2
Error
response from daemon: Cannot start container
004898a491b37d66d351cd1feb301559d4adc51e293fca7f74742694cda0e7c2: [8]
System error: exec format error
$ docker version
Client:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79-dirty
Built: Thu Aug 13 07:53:24 UTC 2015
OS/Arch: linux/arm
Server:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79-dirty
Built: Thu Aug 13 07:53:24 UTC 2015
OS/Arch: linux/arm
Basically, if you have a Dockerfile, you can change the FROM to be a base image that matches your architecture. I remember porting a FROM ubuntu image to a raspbian base image a long time ago. since raspbian and ubuntu are both debian descendants, it wasn’t too hard.
There isn’t really a specific tutorial for it. It’s on par with “porting” an image FROM ubuntu to FROM debian– they are different base images, so you might need to change some of the other instructions. Another more extreme example would be “porting” a FROM centos image to a FROM debian image. In that case, the debian image won’t have yum installed, so you’d have to figure out the equivalent apt-get package names, etc.
It really isn’t much different to “port” an image to a base image that just happens to be built for another architecture. Open up the Dockerfile, change the base image, and try the docker build command. tweak and fix until it works.
As Suggested to me from Govinda Fichtner on Gitter
i’ve wget the github of cartodb-docker in my pi@raspberrypi:~/Desktop/cartodb/docker-cartodb
Then i edited the Dockerfile
changing FROM ubuntu:14.04 into FROM resin/rpi-raspbian:jessie
then i try:
pi@raspberrypi:~/Desktop/cartodb/docker-cartodb $ docker build -t=“sverhoeven/cartodb” ./
but:
Sending build context to Docker daemon 161.8 kB
Step 0 : FROM resin/rpi-raspbian:jessie
—> f2c299e4a1a3
Step 1 : MAINTAINER Nico Aliotta aa@gmail.com
—> Using cache
—> 0cd7d4d35d0c
Step 2 : ENV DEBIAN_FRONTEND noninteractive
—> Running in bcf23ca4d2c9
—> bdc9b85f2910
Removing intermediate container bcf23ca4d2c9
Step 3 : RUN dpkg-reconfigure locales && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8
—> Running in 771ca5cea5fe
dpkg-query: package ‘locales’ is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
/usr/sbin/dpkg-reconfigure: locales is not installed
The command ‘/bin/sh -c dpkg-reconfigure locales && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8’ returned a non-zero code: 1
You’ll probably need to apt-get install that package. The raspbian image probably doesn’t have it installed already, while the ubuntu image probably does.
but i can add at the end on Dockerfile if it will work?
`The following packages will be upgraded:
locales
1 upgraded, 0 newly installed, 0 to remove and 65 not upgraded.
Need to get 3,945 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main locales all 2.19-18+deb8u4 [3,945 kB]
Fetched 3,945 kB in 13s (299 kB/s)
Preconfiguring packages …
(Reading database … 135324 files and directories currently installed.)
Preparing to unpack …/locales_2.19-18+deb8u4_all.deb …
Unpacking locales (2.19-18+deb8u4) over (2.19-18+deb8u3) …
Processing triggers for man-db (2.7.0.2-5) …
Setting up locales (2.19-18+deb8u4) …
Generating locales (this might take a while)…
en_US.UTF-8… done
Generation complete.
but same error of before:
Step 3 : RUN dpkg-reconfigure locales && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8
—> Running in 33a4c5604885
dpkg-query: package ‘locales’ is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
/usr/sbin/dpkg-reconfigure: locales is not installed
The command ‘/bin/sh -c dpkg-reconfigure locales && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8’ returned a non-zero code: 1
I don’t know enough about raspbian to say for sure what is going awry. Treat it like you were running it not inside a docker build and diagnose it that way.
this is docker info:
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 3
Server Version: 1.10.3
Storage Driver: overlay
Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
Volume: local
Network: host bridge null
Kernel Version: 4.1.19-v7+
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: armv7l
CPUs: 4
Total Memory: 925.8 MiB
Name: otm-desktop
ID: TL67:INGS:VSYG:YHEQ:W3MP:NRV4:M2TX:UX6N:T3DB:JOYS:N3HS:DQAT
WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No oom kill disable support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
how i’ve to change my dockerfile? in order to run it