Hi,
I'm trying to build a docker registry for the raspberry.
I have tried to adapt to the ARM architecture using a resin/rpi-raspbian but when I run the image I get the error :
>`docker: Error response from daemon: Container command could not be invoked..`
Does sombody have some advice on this issue ?
Here is the reproduction scheme :
I've got an ARCHLinuxARM :
> `$ uname -a
> Linux raspitoo 4.1.18-3-ARCH #1 SMP Mon Feb 29 12:57:48 MST 2016 armv7l GNU/Linux `
My docker version is :
> `$ sudo docker version
> Client:
> Version: 1.10.2
> API version: 1.22
> Go version: go1.6
> Git commit: c3959b1
> Built: Mon Feb 22 18:10:22 2016
> OS/Arch: linux/arm
> Server:
> Version: 1.10.2
> API version: 1.22
> Go version: go1.6
> Git commit: c3959b1
> Built: Mon Feb 22 18:10:22 2016
> OS/Arch: linux/arm`
And my docker info is :
> `$ sudo docker info
> Containers: 1
> Running: 0
> Paused: 0
> Stopped: 1
> Images: 1
> Server Version: 1.10.2
> Storage Driver: aufs
> Root Dir: /var/lib/docker/aufs
> Backing Filesystem: extfs
> Dirs: 10
> Dirperm1 Supported: true
> Execution Driver: native-0.2
> Logging Driver: json-file
> Plugins:
> Volume: local
> Network: null host bridge
> Kernel Version: 4.1.18-3-ARCH
> Operating System: Arch Linux ARM
> OSType: linux
> Architecture: armv7l
> CPUs: 4
> Total Memory: 923.1 MiB
> Name: raspitoo
> ID: 5GKQ:3ZDE:U3Z6:OO7E:34OK:NVEC:WLD5:C7XN:NS2K:MTR2:H72Y:2VID
> WARNING: No memory limit support
> WARNING: No swap limit support
> WARNING: No oom kill disable support`
I started copying the official registry folder and just changed the docker file to use a raspbian ARM image : (other files like 'registry' and 'config.yaml' are in the same place and haven't been changed)
> `# Build a minimal distribution container
> FROM resin/rpi-raspbian
> RUN apt-get update && \
> apt-get install -y \
> apache2-utils \
> ca-certificates \
> librados2 \
> && rm -rf /var/lib/apt/lists/*
> COPY ./registry/registry /bin/registry
> COPY ./registry/config-example.yml /etc/docker/registry/config.yml
> VOLUME ["/var/lib/registry"]
> EXPOSE 5000
> ENTRYPOINT ["/bin/registry"]
> CMD ["/etc/docker/registry/config.yml"]`
The build command is succesfull :
> `$ sudo docker build -t raspitoo/rpi-registry:2 .
> Sending build context to Docker daemon 20.58 MB
> Step 1 : FROM resin/rpi-raspbian
> ---> 293891d64dff
> Step 2 : RUN apt-get update && apt-get install -y apache2-utils ca-certificates librados2 && rm -rf /var/lib/apt/lists/*
> ---> Running in 3d43fe74f47e
> Get:1 http://archive.raspbian.org jessie InRelease [15.0 kB]
> Get:2 http://archive.raspbian.org jessie/main armhf Packages [12.4 MB]
> Get:3 http://archive.raspbian.org jessie/contrib armhf Packages [42.6 kB]
> Get:4 http://archive.raspbian.org jessie/non-free armhf Packages [83.5 kB]
> Get:5 http://archive.raspbian.org jessie/rpi armhf Packages [1297 B]
> Get:6 http://archive.raspbian.org jessie/firmware armhf Packages [1176 B]
> Fetched 12.6 MB in 32s (384 kB/s)
> Reading package lists...
> Reading package lists...
> Building dependency tree...
> The following extra packages will be installed:
> libapr1 libaprutil1 libboost-atomic1.55.0 libboost-system1.55.0
> libboost-thread1.55.0 libexpat1 libnspr4 libnss3 libsqlite3-0 libssl1.0.0
> openssl
> The following NEW packages will be installed:
> apache2-utils ca-certificates libapr1 libaprutil1 libboost-atomic1.55.0
> libboost-system1.55.0 libboost-thread1.55.0 libexpat1 libnspr4 libnss3
> librados2 libsqlite3-0 libssl1.0.0 openssl
> 0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
> Need to get 5001 kB of archives.
> After this operation, 14.9 MB of additional disk space will be used.
> Get:1 http://archive.raspbian.org/raspbian/ jessie/main libssl1.0.0 armhf 1.0.1k-3+deb8u4 [846 kB]
> Get:2 http://archive.raspbian.org/raspbian/ jessie/main libsqlite3-0 armhf 3.8.7.1-1+deb8u1 [377 kB]
> Get:3 http://archive.raspbian.org/raspbian/ jessie/main libapr1 armhf 1.5.1-3 [77.1 kB]
> Get:4 http://archive.raspbian.org/raspbian/ jessie/main libexpat1 armhf 2.1.0-6+deb8u1 [60.1 kB]
> Get:5 http://archive.raspbian.org/raspbian/ jessie/main libaprutil1 armhf 1.5.4-1 [75.9 kB]
> Get:6 http://archive.raspbian.org/raspbian/ jessie/main libboost-atomic1.55.0 armhf 1.55.0+dfsg-3 [28.6 kB]
> Get:7 http://archive.raspbian.org/raspbian/ jessie/main libboost-system1.55.0 armhf 1.55.0+dfsg-3 [29.9 kB]
> Get:8 http://archive.raspbian.org/raspbian/ jessie/main libboost-thread1.55.0 armhf 1.55.0+dfsg-3 [47.9 kB]
> Get:9 http://archive.raspbian.org/raspbian/ jessie/main libnspr4 armhf 2:4.10.7-1+deb8u1 [95.2 kB]
> Get:10 http://archive.raspbian.org/raspbian/ jessie/main libnss3 armhf 2:3.17.2-1.1+deb8u2 [926 kB]
> Get:11 http://archive.raspbian.org/raspbian/ jessie/main librados2 armhf 0.80.7-2+deb8u1 [1375 kB]
> Get:12 http://archive.raspbian.org/raspbian/ jessie/main apache2-utils armhf 2.4.10-10+deb8u4 [194 kB]
> Get:13 http://archive.raspbian.org/raspbian/ jessie/main openssl armhf 1.0.1k-3+deb8u4 [665 kB]
> Get:14 http://archive.raspbian.org/raspbian/ jessie/main ca-certificates all 20141019+deb8u1 [204 kB]
> debconf: delaying package configuration, since apt-utils is not installed
> Fetched 5001 kB in 7s (668 kB/s)
> Selecting previously unselected package libssl1.0.0:armhf.
> (Reading database ... 7908 files and directories currently installed.)
> Preparing to unpack .../libssl1.0.0_1.0.1k-3+deb8u4_armhf.deb ...
> Unpacking libssl1.0.0:armhf (1.0.1k-3+deb8u4) ...
> Selecting previously unselected package libsqlite3-0:armhf.
> Preparing to unpack .../libsqlite3-0_3.8.7.1-1+deb8u1_armhf.deb ...
> Unpacking libsqlite3-0:armhf (3.8.7.1-1+deb8u1) ...
> Selecting previously unselected package libapr1:armhf.
> Preparing to unpack .../libapr1_1.5.1-3_armhf.deb ...
> Unpacking libapr1:armhf (1.5.1-3) ...
> Selecting previously unselected package libexpat1:armhf.
> Preparing to unpack .../libexpat1_2.1.0-6+deb8u1_armhf.deb ...
> Unpacking libexpat1:armhf (2.1.0-6+deb8u1) ...
> Selecting previously unselected package libaprutil1:armhf.
> Preparing to unpack .../libaprutil1_1.5.4-1_armhf.deb ...
> Unpacking libaprutil1:armhf (1.5.4-1) ...
> Selecting previously unselected package libboost-atomic1.55.0:armhf.
> Preparing to unpack .../libboost-atomic1.55.0_1.55.0+dfsg-3_armhf.deb ...
> Unpacking libboost-atomic1.55.0:armhf (1.55.0+dfsg-3) ...
> Selecting previously unselected package libboost-system1.55.0:armhf.
> Preparing to unpack .../libboost-system1.55.0_1.55.0+dfsg-3_armhf.deb ...
> Unpacking libboost-system1.55.0:armhf (1.55.0+dfsg-3) ...
> Selecting previously unselected package libboost-thread1.55.0:armhf.
> Preparing to unpack .../libboost-thread1.55.0_1.55.0+dfsg-3_armhf.deb ...
> Unpacking libboost-thread1.55.0:armhf (1.55.0+dfsg-3) ...
> Selecting previously unselected package libnspr4:armhf.
> Preparing to unpack .../libnspr4_2%3a4.10.7-1+deb8u1_armhf.deb ...
> Unpacking libnspr4:armhf (2:4.10.7-1+deb8u1) ...
> Selecting previously unselected package libnss3:armhf.
> Preparing to unpack .../libnss3_2%3a3.17.2-1.1+deb8u2_armhf.deb ...
> Unpacking libnss3:armhf (2:3.17.2-1.1+deb8u2) ...
> Selecting previously unselected package librados2.
> Preparing to unpack .../librados2_0.80.7-2+deb8u1_armhf.deb ...
> Unpacking librados2 (0.80.7-2+deb8u1) ...
> Selecting previously unselected package apache2-utils.
> Preparing to unpack .../apache2-utils_2.4.10-10+deb8u4_armhf.deb ...
> Unpacking apache2-utils (2.4.10-10+deb8u4) ...
> Selecting previously unselected package openssl.
> Preparing to unpack .../openssl_1.0.1k-3+deb8u4_armhf.deb ...
> Unpacking openssl (1.0.1k-3+deb8u4) ...
> Selecting previously unselected package ca-certificates.
> Preparing to unpack .../ca-certificates_20141019+deb8u1_all.deb ...
> Unpacking ca-certificates (20141019+deb8u1) ...
> Setting up libssl1.0.0:armhf (1.0.1k-3+deb8u4) ...
> Setting up libsqlite3-0:armhf (3.8.7.1-1+deb8u1) ...
> Setting up libapr1:armhf (1.5.1-3) ...
> Setting up libexpat1:armhf (2.1.0-6+deb8u1) ...
> Setting up libaprutil1:armhf (1.5.4-1) ...
> Setting up libboost-atomic1.55.0:armhf (1.55.0+dfsg-3) ...
> Setting up libboost-system1.55.0:armhf (1.55.0+dfsg-3) ...
> Setting up libboost-thread1.55.0:armhf (1.55.0+dfsg-3) ...
> Setting up libnspr4:armhf (2:4.10.7-1+deb8u1) ...
> Setting up libnss3:armhf (2:3.17.2-1.1+deb8u2) ...
> Setting up librados2 (0.80.7-2+deb8u1) ...
> Setting up apache2-utils (2.4.10-10+deb8u4) ...
> Setting up openssl (1.0.1k-3+deb8u4) ...
> Setting up ca-certificates (20141019+deb8u1) ...
> Processing triggers for libc-bin (2.19-18+deb8u3) ...
> Processing triggers for ca-certificates (20141019+deb8u1) ...
> Updating certificates in /etc/ssl/certs... 174 added, 0 removed; done.
> Running hooks in /etc/ca-certificates/update.d....done.
> ---> 96bdd54e0e47
> Removing intermediate container 3d43fe74f47e
> Step 3 : COPY ./registry/registry /bin/registry
> ---> 8b5db0d572fa
> Removing intermediate container dadefad999d0
> Step 4 : COPY ./registry/config-example.yml /etc/docker/registry/config.yml
> ---> a83f6d77f650
> Removing intermediate container d91fde6291dc
> Step 5 : VOLUME /var/lib/registry
> ---> Running in c18e9e676219
> ---> fbb7980c161c
> Removing intermediate container c18e9e676219
> Step 6 : EXPOSE 5000
> ---> Running in 9e36df53eca8
> ---> d904fcc92109
> Removing intermediate container 9e36df53eca8
> Step 7 : ENTRYPOINT /bin/registry
> ---> Running in 227d035f9753
> ---> e10b663796db
> Removing intermediate container 227d035f9753
> Step 8 : CMD /etc/docker/registry/config.yml
> ---> Running in 537a8f7b5a5f
> ---> 48894c57d1e4
> Removing intermediate container 537a8f7b5a5f
> Successfully built 48894c57d1e4`
But then the run fails :
> `$ sudo docker --log-level=debug run -d -p 5500:5000 --restart=always --name registry raspitoo/rpi-registry:2
> [sudo] password for dom:
> 033047244d718541701e90fab939495cdc638f4a6d23091f003c66478240a44a
> docker: Error response from daemon: Container command could not be invoked..`