Docker Community Forums

Share and learn in the Docker community.

Cannot run registry for ARM : Container command could not be invoked


(Raspitoo) #1

I’m trying to build a registry for an ARM architecture (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
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

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
&& 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"]
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 jessie InRelease [15.0 kB] Get:2 jessie/main armhf Packages [12.4 MB] Get:3 jessie/contrib armhf Packages [42.6 kB] Get:4 jessie/non-free armhf Packages [83.5 kB] Get:5 jessie/rpi armhf Packages [1297 B] Get:6 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 jessie/main libssl1.0.0 armhf 1.0.1k-3+deb8u4 [846 kB] Get:2 jessie/main libsqlite3-0 armhf [377 kB] Get:3 jessie/main libapr1 armhf 1.5.1-3 [77.1 kB] Get:4 jessie/main libexpat1 armhf 2.1.0-6+deb8u1 [60.1 kB] Get:5 jessie/main libaprutil1 armhf 1.5.4-1 [75.9 kB] Get:6 jessie/main libboost-atomic1.55.0 armhf 1.55.0+dfsg-3 [28.6 kB] Get:7 jessie/main libboost-system1.55.0 armhf 1.55.0+dfsg-3 [29.9 kB] Get:8 jessie/main libboost-thread1.55.0 armhf 1.55.0+dfsg-3 [47.9 kB] Get:9 jessie/main libnspr4 armhf 2:4.10.7-1+deb8u1 [95.2 kB] Get:10 jessie/main libnss3 armhf 2:3.17.2-1.1+deb8u2 [926 kB] Get:11 jessie/main librados2 armhf 0.80.7-2+deb8u1 [1375 kB] Get:12 jessie/main apache2-utils armhf 2.4.10-10+deb8u4 [194 kB] Get:13 jessie/main openssl armhf 1.0.1k-3+deb8u4 [665 kB] Get:14 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 ( ... 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 ( ... 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..