nginxdockerarchlinux-arm

Docker & nginx operation not permitted


I'm trying to run Nginx on an Arch Linux server using Docker. I've created the container:

[root@tronagon atc]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nginx               latest              5328fdfe9b8e        5 days ago          133.9 MB
[root@tronagon atc]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@tronagon atc]# docker create nginx
9842dcf58c17504c3723a6c0c0648e43c17e771d2b3fe315bde2e4979536fd09

However when I attempt to start it I get a System error: operation not permitted error:

[root@tronagon atc]# docker start 984
Error response from daemon: Cannot start container 984: [8] System error: operation not permitted
Error: failed to start containers: [984]

The docker daemon is definitely running:

[root@tronagon atc]# systemctl status docker
* docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2015-12-22 10:05:23 UTC; 1h 8min ago
     Docs: https://docs.docker.com
 Main PID: 908 (docker)
   CGroup: /system.slice/docker.service
           `-908 /usr/bin/docker daemon -H fd:// --exec-opt native.cgroupdriver=cgroupfs

In fact, I cannot run any containers:

[root@tronagon atc]# docker run -it ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
0bf056161913: Pull complete 
1796d1c62d0c: Pull complete 
e24428725dd6: Pull complete 
89d5d8e8bafb: Pull complete 
Digest: sha256:a2b67b6107aa640044c25a03b9e06e2a2d48c95be6ac17fb1a387e75eebafd7c
Status: Downloaded newer image for ubuntu:latest
exec format error
Error response from daemon: Cannot start container 224bef93152b5537c8650258172c43226243859b7047657ef488f23e195ad051: [8] System error: exec format error

Any ideas?


Solution

  • Turns out I'm running a 32-bit OS -- Arch Linux on ARM v7 rev 10 -- and the container is 64 bit, which is why I'm getting the exec errors.

    There are some ARM equivalent images available via the docker install from the default Arch Linux ARM repository. Run the following to find them:

    docker search armhf