1
votes

I'm trying to enable docker on arm32v7 target (Kernel 3.10.17 ) . I enabled needed components in kernel(AUFS, cgroup..) side but when I try to run Hello-world image to test docker integration I get this error :

docker run hello-world

FATA[0000] Error response from daemon:

Cannot start container ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9: [8] System error: no such device

Can anyone help please?

Thank you in advance !

Here docker version & info :

docker version

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.3
Git commit (client): 7c8fca2-dirty
OS/Arch (client): linux/arm
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.3
Git commit (server): 7c8fca2-dirty
OS/Arch (server): linux/arm

docker info

Containers: 1
Images: 2
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: tmpfs
Dirs: 4
Dirperm1 Supported: true
Execution Driver: native-0.2
Kernel Version: 3.10.17-rt12+pamela-dual-lite-04.09.03+g46a870e
Operating System:
CPUs: 1
Total Memory: 497.2 MiB
Name: xxxxxxx
ID: QT4I:2EDK:MIRS:HV75:4JOW:PRAC:NS2F:JTAD:TQ7P:6MOO:O6VP:NM4K
WARNING: No swap limit support

Here logs :

docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="-job log(start, ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9, hello-world:latest) = OK (0)"

systemd[1]: Starting docker container ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9.
systemd[1]: Started docker container ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9.
kernel: device vethe9ae91c entered promiscuous mode
kernel: IPv6: ADDRCONF(NETDEV_UP): vethe9ae91c: link is not ready
kernel: IPv6: ADDRCONF(NETDEV_CHANGE): vethe9ae91c: link becomes ready
kernel: docker0: port 1(vethe9ae91c) entered forwarding state
docker0: port 1(vethe9ae91c) entered forwarding state
docker[4661]: time="2018-10-31T15:41:35Z" level=warning msg="signal: killed"
kernel: docker0: port 1(vethe9ae91c) entered disabled state
kernel: device vethe9ae91c left promiscuous mode
kernel: docker0: port 1(vethe9ae91c) entered disabled state
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="+job release_interface(ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9)"
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="-job release_interface(ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9) = OK (0)"
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="-job attach(ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9) = OK (0)"
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="+job release_interface(ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9)"
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="-job release_interface(ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9) = OK (0)"
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="+job log(die, ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9, hello-world:latest)"
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="-job log(die, ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9, hello-world:latest) = OK (0)"
docker[4661]: Cannot start container ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9: [8] System error: no such device
docker[4661]: time="2018-10-31T15:41:35Z" level=info msg="-job start(ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9) = ERR (1)"
docker[4661]: time="2018-10-31T15:41:35Z" level=error msg="Handler for POST /containers/{name:.*}/start returned error: Cannot start container ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9: [8] System error: no such device"
docker[4661]: time="2018-10-31T15:41:35Z" level=error msg="HTTP Error: statusCode=404 Cannot start container ea3a71d1025ac733ebb9214045cdaffebfb0d8fb434c7a8bd83cdb93e4d7f5b9: [8] System error: no such device"

1
Please move off of that version of Docker. It's incredibly old and receives no support or updates. It's unlikely anyone is going to spend much time trying to triage an issue on something so out-of-date.johnharris85
Thank you @johnharris85, It's a project limitation since our yocto project layers are based on daisy branch so I'm not sure if moving to latest docker branch/version will require upgrading the other layers ...wzairi

1 Answers

0
votes

I fixed the issue by enabling CONFIG_POSIX_MQUEUE in kernel side . The error no such device is coming from the fact docker wants /dev/mqueue for container fs mounting.
Maybe there was another config option on runtime to select device , so we can avoid this kernel config .

docker run arm32v7/busybox ls

bin
dev
etc
home
proc
root
sys
tmp
usr
var

docker version

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.3
Git commit (client): 7c8fca2-dirty
OS/Arch (client): linux/arm
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.3
Git commit (server): 7c8fca2-dirty
OS/Arch (server): linux/arm