raspitoo
Posts: 2
Joined: Thu Mar 03, 2016 10:02 am

cannot run a docker registry : could not be invoked

Thu Mar 03, 2016 10:06 am

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..`

sdjf
Posts: 1395
Joined: Fri Mar 16, 2012 5:20 am
Location: California
Contact: Website

Re: cannot run a docker registry : could not be invoked

Thu Mar 03, 2016 5:20 pm

Is there any reason for not just using the ArchLinux sources? They might build better. It looks to me like docker is available for armv7h, or are you trying to change the stock build?

pacman -Ss docker

it is in the community repository.
FORUM TIP: To view someone's posting history, sign in, click on their user name, then on "Search User's Posts." || Running ArchLinuxArm on Model 2B and 512MB Model B

raspitoo
Posts: 2
Joined: Thu Mar 03, 2016 10:02 am

Re: cannot run a docker registry : could not be invoked

Fri Mar 04, 2016 12:30 pm

Hi,
Sorry I wasn't clear enough in my post.

Actually I am using the docker version from the archlinux arm7 repository.

My dificulties are using docker to make a docker-build of a docker-repository for the arm architecture.

Thanks for the reply,
Regards

sdjf
Posts: 1395
Joined: Fri Mar 16, 2012 5:20 am
Location: California
Contact: Website

Re: cannot run a docker registry : could not be invoked

Sat Mar 05, 2016 1:15 am

But the output you posted indicates you are using debian-based files for some of what you are doing. I am suggesting that you use only arch-based or files from upstream which are not from debian.
FORUM TIP: To view someone's posting history, sign in, click on their user name, then on "Search User's Posts." || Running ArchLinuxArm on Model 2B and 512MB Model B

Return to “Arch”