Exec /usr/local/bin/docker-php-entrypoint: exec format error

Hi All,
Getting this error run running it with this: exec /usr/local/bin/docker-php-entrypoint: exec format error
Hardware: rpi4
OS: Alpine Linux: aarch64
Image: tinyfilemanager/tinyfilemanager:latest
Port: 8080>80
Volume: /var/lib/docker/volumes>/var/www/html/data

I use portainer and here is the inspect of the container, has anyone seen this before?

{
    "AppArmorProfile": "",
    "Args": [
        "sh",
        "-c",
        "php -S 0.0.0.0:80"
    ],
    "Config": {
        "AttachStderr": false,
        "AttachStdin": false,
        "AttachStdout": false,
        "Cmd": [
            "sh",
            "-c",
            "php -S 0.0.0.0:80"
        ],
        "Domainname": "",
        "Entrypoint": [
            "docker-php-entrypoint"
        ],
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "PHPIZE_DEPS=autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c",
            "PHP_INI_DIR=/usr/local/etc/php",
            "PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
            "PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
            "PHP_LDFLAGS=-Wl,-O1 -pie",
            "GPG_KEYS=42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312",
            "PHP_VERSION=7.4.27",
            "PHP_URL=https://www.php.net/distributions/php-7.4.27.tar.xz",
            "PHP_ASC_URL=https://www.php.net/distributions/php-7.4.27.tar.xz.asc",
            "PHP_SHA256=3f8b937310f155822752229c2c2feb8cc2621e25a728e7b94d0d74c128c43d0c"
        ],
        "ExposedPorts": {
            "80/tcp": {}
        },
        "Hostname": "tfm",
        "Image": "docker.io/tinyfilemanager/tinyfilemanager:latest",
        "Labels": {},
        "OnBuild": null,
        "OpenStdin": false,
        "StdinOnce": false,
        "Tty": false,
        "User": "",
        "Volumes": {
            "/var/www/html/data": {}
        },
        "WorkingDir": "/var/www/html"
    },
    "Created": "2022-12-03T19:40:41.216908747Z",
    "Driver": "overlay2",
    "ExecIDs": null,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/176475830f8e4dfa91be48d4dc5b0f965b58207bfb7647fd3807e36b19aea2ce-init/diff:/var/lib/docker/overlay2/529900c844b815fa6270e75fc75b67bc878262ada5364ddd5d8bccd6a12f7356/diff:/var/lib/docker/overlay2/8f5f2563bdd355b5fc840335ad2270dab54a572965b52265c133f570a770184b/diff:/var/lib/docker/overlay2/ab0e2a039f2966727cc7d4fd6e91fa6683c6eb27146a65ce9f491e711f7ac0d8/diff:/var/lib/docker/overlay2/5e2a053b31b28d52ab20c1d3a67c138d595a2eb98e118b486d5de96f26e5406a/diff:/var/lib/docker/overlay2/e2fec63f953920f1b39139780f817026a6e40d4a114806e127bc138b22c9063d/diff:/var/lib/docker/overlay2/989b75786e940dbd399ccab701aa6bed5ff8581ed8ee654c29bd6916fce322e8/diff:/var/lib/docker/overlay2/c67182cdacc26c9d5ff96c6d750c545f052930d2e03ad6e0344743f376253bdb/diff:/var/lib/docker/overlay2/f777e8820833609e1f375fa4be9c1d1723d011c160369a44fa8a5958558654f4/diff:/var/lib/docker/overlay2/bec9d6e1986777be5bf0644be5e484f3dc42648797650d34b8c421f1c0b8ab5e/diff:/var/lib/docker/overlay2/f9fe0b6460b81a52a2df26b4d79753fe468c947926fe7a041cc4465db315309d/diff:/var/lib/docker/overlay2/82b299aa07455b2ce8869ece4699d95a500e731aa8a6db4a552cabea2847dd9e/diff:/var/lib/docker/overlay2/01cf9cfc0244d0d37f0baf10385219ca0b475dea4a6a786aceaa579df73b539c/diff:/var/lib/docker/overlay2/5c117cdb7b4ce8432b26957301705b0df33479a57b378c1bdfc5ebceb4fa7b4e/diff:/var/lib/docker/overlay2/784866cc83403bbe62c1770566de4aa7fb28901efe2d733ba3593560c06fe0e9/diff",
            "MergedDir": "/var/lib/docker/overlay2/176475830f8e4dfa91be48d4dc5b0f965b58207bfb7647fd3807e36b19aea2ce/merged",
            "UpperDir": "/var/lib/docker/overlay2/176475830f8e4dfa91be48d4dc5b0f965b58207bfb7647fd3807e36b19aea2ce/diff",
            "WorkDir": "/var/lib/docker/overlay2/176475830f8e4dfa91be48d4dc5b0f965b58207bfb7647fd3807e36b19aea2ce/work"
        },
        "Name": "overlay2"
    },
    "HostConfig": {
        "AutoRemove": false,
        "Binds": [
            "/var/lib/docker/volumes:/var/www/html/data"
        ],
        "BlkioDeviceReadBps": null,
        "BlkioDeviceReadIOps": null,
        "BlkioDeviceWriteBps": null,
        "BlkioDeviceWriteIOps": null,
        "BlkioWeight": 0,
        "BlkioWeightDevice": null,
        "CapAdd": [
            "AUDIT_WRITE",
            "CHOWN",
            "DAC_OVERRIDE",
            "FOWNER",
            "FSETID",
            "KILL",
            "MKNOD",
            "NET_BIND_SERVICE",
            "NET_RAW",
            "SETFCAP",
            "SETGID",
            "SETPCAP",
            "SETUID",
            "SYS_CHROOT"
        ],
        "CapDrop": [
            "AUDIT_CONTROL",
            "BLOCK_SUSPEND",
            "DAC_READ_SEARCH",
            "IPC_LOCK",
            "IPC_OWNER",
            "LEASE",
            "LINUX_IMMUTABLE",
            "MAC_ADMIN",
            "MAC_OVERRIDE",
            "NET_ADMIN",
            "NET_BROADCAST",
            "SYSLOG",
            "SYS_ADMIN",
            "SYS_BOOT",
            "SYS_MODULE",
            "SYS_NICE",
            "SYS_PACCT",
            "SYS_PTRACE",
            "SYS_RAWIO",
            "SYS_RESOURCE",
            "SYS_TIME",
            "SYS_TTY_CONFIG",
            "WAKE_ALARM"
        ],
        "Cgroup": "",
        "CgroupParent": "",
        "CgroupnsMode": "host",
        "ConsoleSize": [
            0,
            0
        ],
        "ContainerIDFile": "",
        "CpuCount": 0,
        "CpuPercent": 0,
        "CpuPeriod": 0,
        "CpuQuota": 0,
        "CpuRealtimePeriod": 0,
        "CpuRealtimeRuntime": 0,
        "CpuShares": 0,
        "CpusetCpus": "",
        "CpusetMems": "",
        "DeviceCgroupRules": null,
        "DeviceRequests": [],
        "Devices": [],
        "Dns": [],
        "DnsOptions": null,
        "DnsSearch": null,
        "ExtraHosts": [],
        "GroupAdd": null,
        "IOMaximumBandwidth": 0,
        "IOMaximumIOps": 0,
        "Init": false,
        "IpcMode": "private",
        "Isolation": "",
        "KernelMemory": 0,
        "KernelMemoryTCP": 0,
        "Links": null,
        "LogConfig": {
            "Config": {},
            "Type": "json-file"
        },
        "MaskedPaths": [
            "/proc/asound",
            "/proc/acpi",
            "/proc/kcore",
            "/proc/keys",
            "/proc/latency_stats",
            "/proc/timer_list",
            "/proc/timer_stats",
            "/proc/sched_debug",
            "/proc/scsi",
            "/sys/firmware"
        ],
        "Memory": 0,
        "MemoryReservation": 0,
        "MemorySwap": 0,
        "MemorySwappiness": null,
        "NanoCpus": 0,
        "NetworkMode": "web",
        "OomKillDisable": null,
        "OomScoreAdj": 0,
        "PidMode": "",
        "PidsLimit": null,
        "PortBindings": {
            "80/tcp": [
                {
                    "HostIp": "",
                    "HostPort": "8080"
                }
            ]
        },
        "Privileged": false,
        "PublishAllPorts": false,
        "ReadonlyPaths": [
            "/proc/bus",
            "/proc/fs",
            "/proc/irq",
            "/proc/sys",
            "/proc/sysrq-trigger"
        ],
        "ReadonlyRootfs": false,
        "RestartPolicy": {
            "MaximumRetryCount": 0,
            "Name": "always"
        },
        "Runtime": "runc",
        "SecurityOpt": null,
        "ShmSize": 67108864,
        "UTSMode": "",
        "Ulimits": null,
        "UsernsMode": "",
        "VolumeDriver": "",
        "VolumesFrom": null
    },
    "HostnamePath": "/var/lib/docker/containers/2ed009df6c45c9a2bcb3691e8156b2fa892301b6cee7eb24c1531bf8de6e9289/hostname",
    "HostsPath": "/var/lib/docker/containers/2ed009df6c45c9a2bcb3691e8156b2fa892301b6cee7eb24c1531bf8de6e9289/hosts",
    "Id": "2ed009df6c45c9a2bcb3691e8156b2fa892301b6cee7eb24c1531bf8de6e9289",
    "Image": "sha256:53cc1d493049e7839d84b99b5581cd963962d740c1d19449645e684e639a06cd",
    "LogPath": "/var/lib/docker/containers/2ed009df6c45c9a2bcb3691e8156b2fa892301b6cee7eb24c1531bf8de6e9289/2ed009df6c45c9a2bcb3691e8156b2fa892301b6cee7eb24c1531bf8de6e9289-json.log",
    "MountLabel": "",
    "Mounts": [
        {
            "Destination": "/var/www/html/data",
            "Mode": "",
            "Propagation": "rslave",
            "RW": true,
            "Source": "/var/lib/docker/volumes",
            "Type": "bind"
        }
    ],
    "Name": "/TinyFileManager",
    "NetworkSettings": {
        "Bridge": "",
        "EndpointID": "",
        "Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "HairpinMode": false,
        "IPAddress": "",
        "IPPrefixLen": 0,
        "IPv6Gateway": "",
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "MacAddress": "",
        "Networks": {
            "web": {
                "Aliases": [
                    "tfm",
                    "2ed009df6c45"
                ],
                "DriverOpts": null,
                "EndpointID": "",
                "Gateway": "",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "IPAMConfig": {
                    "IPv4Address": "10.255.255.195"
                },
                "IPAddress": "",
                "IPPrefixLen": 0,
                "IPv6Gateway": "",
                "Links": null,
                "MacAddress": "",
                "NetworkID": "dd2e4fe4a4ef2b3c4fb20a3dc8217b5e8036fa21c4a6538e6f599de0ee4fa5d1"
            }
        },
        "Ports": {},
        "SandboxID": "fccc448deb60bc996dc92ef05e846c6a32c878e10debc9e06adacf195e2c30ef",
        "SandboxKey": "/var/run/docker/netns/fccc448deb60",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null
    },
    "Path": "docker-php-entrypoint",
    "Platform": "linux",
    "Portainer": {
        "ResourceControl": {
            "Id": 33,
            "ResourceId": "2ed009df6c45c9a2bcb3691e8156b2fa892301b6cee7eb24c1531bf8de6e9289",
            "SubResourceIds": [],
            "Type": 1,
            "UserAccesses": [],
            "TeamAccesses": [],
            "Public": false,
            "AdministratorsOnly": true,
            "System": false
        }
    },
    "ProcessLabel": "",
    "ResolvConfPath": "/var/lib/docker/containers/2ed009df6c45c9a2bcb3691e8156b2fa892301b6cee7eb24c1531bf8de6e9289/resolv.conf",
    "RestartCount": 6,
    "State": {
        "Dead": false,
        "Error": "",
        "ExitCode": 1,
        "FinishedAt": "2022-12-03T19:40:51.128455748Z",
        "OOMKilled": false,
        "Paused": false,
        "Pid": 0,
        "Restarting": false,
        "Running": false,
        "StartedAt": "2022-12-03T19:40:51.129490358Z",
        "Status": "exited"
    }
}

That image is for amd64. Unless you can install an emulator on your RPi4 you will not be able to run an amd64 image on it.

About the emulation on Linux: Running and Building ARM Docker Containers on x86 | Stereolabs
The method is similar on ARM. I used it on my ARM-based macOS in a multipass virtual machine (Ubuntu). But I have never tried it on alpine so that part you wil need to figure out.

Hi Rimelek,

I only have 3 options for alpine:
image
did i choose the wrong one?

As far as I know Raspberry Pi is ARM-based, so you can’t choose an amd64 OS to install on a hardware that has an ARM CPU. All of the options are ARM variants. So you need to run softwares built for ARM or emulate AMD64 on ARM.

oh its not amd64 its: AArch64 or ARM64 is the 64-bit extension of the ARM architecture family

The Docker image is AMD64

I meant “Docker image”. Sorry if I wasn’t clear.

1 Like

oh i see, the tinyfilemanager only support amd64 and i am aarch64, sorry i did not see that.

Thank you for you infinite knowledge.