TimWolla / docker-adminer

Database management in a single PHP file
https://hub.docker.com/_/adminer/
157 stars 69 forks source link

ARM build issue introduced between 4.7.7 and 4.7.8 #96

Closed stewart123579 closed 3 years ago

stewart123579 commented 3 years ago

I'm unable to get adminer to load to the login screen for releases 4.7.8+ on a raspberry pi (ARM)

There's no error message, the browser just keeps trying to load. docker stats has the container maxing the CPU out at 100%.

To reproduce: Use the docker-compose recommended by postgres (https://hub.docker.com/_/postgres) and visit <raspi-IP>:8080

# Use postgres/example user/password credentials
version: '3.1'

services:

  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: example

  adminer:
     # image: adminer:4.7.6  # Works
    # image: adminer:4.7.7  # Works
    image: adminer:4.7.8  # FAILS
    restart: always
    ports:
      - 8080:8080

I can reproduce in Firefox, Chrome and Safari and via curl on the (raspi) localhost and remotely.

This does not seem to impact x86 releases.

TimWolla commented 3 years ago

I'm afraid I am not able to test this on ARM myself, so I won't be able to debug this. I mostly rely on the prebuilt PHP image for Alpine and only compile a few PHP extensions for database access. There's not much I could change about this, especially since I did not change anything regarding the extensions since 4.7.7.

/cc @tianon Any ideas?

tianon commented 3 years ago

This is likely due to https://github.com/TimWolla/docker-adminer/blob/851a24176b7437d5b942789e4827848c28a50ee0/4/fastcgi/Dockerfile#L1 -- that doesn't specify an explicit Alpine version, so it's been updated to Alpine 3.13.

The underlying issue is tracked at https://github.com/moby/moby/issues/40734, but the short version is that you need to update libseccomp on your host to 2.4.2 or newer and Docker to 19.03.9 or newer.

See also https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.13.0#time64_requirements.

stewart123579 commented 3 years ago

@tianon - I've not been able to confirm, but it looks like you've nailed it.

On my system

For anyone finding this in the future - apparently "best" fix for raspberry pi is to upgrade to Ubuntu 20.04 arm64 , otherwise manually update libseccomp2 (HT to HotIO)

...so there goes my weekend. Sigh