librenms/docker

armv7 container fails to start complaining for s6-init issues

davidecavestro opened this issue · 0 comments

TLDR: Just resembles crazy-max/docker-rtorrent-rutorrent#61

Behaviour

Steps to reproduce this issue

  1. Adapt the docker-compose.yml from examples to run on armv7 (using an external db or simply switch the db to image linuxserver/mariadb:arm32v7-alpine)
  2. put it into a raspberry pi 3 and start services one by one with docker-compose up -d as follows
  3. docker-compose up -d db
  4. docker-compose up -d memcached
  5. docker-compose up -d mstpd
  6. docker-compose up -d librenms

Expected behaviour

Containers based on librenms image should pass s6 init and start

Actual behaviour

Containers based on librenms image fail to start (see the Logs section below)

Configuration

  • Docker version: 20.10.5, build 55c4c88
  • Docker compose version if applicable: 1.24.1, build 4667896
  • Platform : Raspbian GNU/Linux 10
  • System info: Linux raspi3 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l GNU/Linux

Docker info

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 8
  Running: 4
  Paused: 0
  Stopped: 4
 Images: 52
 Server Version: 20.10.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.17-v7+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: armv7l
 CPUs: 4
 Total Memory: 872.5MiB
 Name: raspi3
 ID: 7XKY:W5RL:PCBR:XRII:LHHH:TXVN:HK5P:26SS:3WP3:2DLC:UVWY:QBPX
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory TCP limit support
WARNING: No oom kill disable support
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

Logs

librenms      | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
librenms      | [s6-init] ensuring user provided files have correct perms...s6-svscan: warning: unable to iopause: Invalid argument
librenms      | s6-svscan: warning: executing into .s6-svscan/crash
librenms      | s6-svscan panicked! Dropping to a root shell.
librenms      | 
librenms      | /bin/sh: can't access tty; job control turned off
librenms      | /run/s6/services # 
librenms exited with code 0

Mitigation attempts

So far I've tried to rebuild the image based on older crazymax/alpine-s6, but as soon as I switch to an alpine 3.12 (i.e. crazymax/alpine-s6:3.12-2.2.0.3) the build fails for unsatisfied constraints from apk, so maybe there's a better way to fix it.