moby: Hello World fails on ArchLinux - Docker 1.10.2

Output of docker version:

╰─$ docker version
Client:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.6
 Git commit:   c3959b1
 Built:        Tue Feb 23 00:53:12 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.6
 Git commit:   c3959b1
 Built:        Tue Feb 23 00:53:12 2016
 OS/Arch:      linux/amd64

Output of docker info:

╰─$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.10.2
Storage Driver: devicemapper
 Pool Name: docker-8:2-6555021-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 10.94 MB
 Data Space Total: 107.4 GB
 Data Space Available: 107.4 GB
 Metadata Space Used: 581.6 kB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.147 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpo
oldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.115 (2016-01-25)
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 3.14.32-xxxx-grs-ipv6-64
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.72 GiB
Name: klaimslab
ID: AXV2:ABSB:5LAB:E2RA:JRHD:MNHG:3E6G:KP6W:HNST:2XB2:QQRJ:PHKD
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support

Provide additional environment details (AWS, VirtualBox, physical, etc.):

List the steps to reproduce the issue:

  1. Install Docker through pacman: “pacman -S docker”
  2. Run “docker run hello-world”

Describe the results you received:

╰─$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

03f4658f8b78: Extracting [==================================================>]    601 B/601 B
a3ed95caeb02: Download complete
docker: failed to register layer: devmapper: Error mounting '/dev/mapper/docker-8:2-6555021-f67bdeaadec34a41c7a3e2d
fc70e6cad1b15832966fd060c7f57295dcd6ecd98' on '/var/lib/docker/devicemapper/mnt/f67bdeaadec34a41c7a3e2dfc70e6cad1b1
5832966fd060c7f57295dcd6ecd98': invalid argument.
See 'docker run --help'.

Describe the results you expected:

No error.

Provide additional info you think is important:

I discovered this issue while trying to install Discourse (http://discourse.org) which fails because of the very specific same error.

I tried uninstalling completely docker then re-installing it with no change to this output.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 26 (10 by maintainers)

Most upvoted comments

Hello Again!,

I had a few minutes this sunday and I tried to fix this issue. Here is a quick solution:

First you need to check the kernel your system is using. This issue is probably only related with kimsufi archlinux image.

# ls -1 /boot                                                                                                                                
System.map-3.14.32-xxxx-grs-ipv6-64
bzImage-3.14.32-xxxx-grs-ipv6-64
grub
initramfs-linux-lts-fallback.img
initramfs-linux-lts.img
intel-ucode.img
vmlinuz-linux-lts

Their custom kernel is linux-3.14.32-xxxx-grs-ipv6-64 and I decided to install the lts version in my server because I will use it only as a host to perform testing inside docker containers. That explains the vmlinuz-linux-lts image. You can also install the latest kernel version by installing the linux package instead of linux-lts archlinux package. Archlinux wiki provides more info about this.

This are the quick steps to fix this:

pacman -S linux-lts 
cd /etc/grub.d/
mv 06_OVH-kernel 12_OVH-kernel
cd /boot/grub
grub-mkconfig > grub.cfg
reboot

As soon as it reboots check the new kernel:

# uname -a
Linux 4.1.18-1-lts #1 SMP Tue Feb 16 20:17:57 CET 2016 x86_64 GNU/Linux

And hopefully docker run with no issues.

# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

03f4658f8b78: Pull complete 
a3ed95caeb02: Pull complete 
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

Cheers!