Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] svc-mod-universal-docker-in-docker: warning: unable to spawn ./run (waiting 60 seconds): Bad file descriptor #993

Open
1 task done
jpf91 opened this issue Dec 23, 2024 · 3 comments
Assignees

Comments

@jpf91
Copy link

jpf91 commented Dec 23, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Name of mod

svc-mod-universal-docker-in-docker

Name of base container

linuxserver/openssh-server

Current Behavior

When starting the container, after package installation I just get these messages:

openssh-server    | s6-supervise svc-mod-universal-docker-in-docker: warning: invalid notification-fd
openssh-server    | s6-supervise svc-mod-universal-docker-in-docker: warning: unable to spawn ./run (waiting 60 seconds): Bad file descriptor

I can SSH into the container. But docker info says docker is not running. I also don't see docker in ps aux and all files in /config/logs/dockerd/ are empty. s6 seems to be doing some things (there's a s6-supervise svc-mod-universal-docker-in-docker), but I do not know what this means.

If anyone has any documentation how to debug s6, that be very welcome. Usually I would try to stop the service, start it manually and maybe enable verbose output. But I've never been able to figure out how to do that with s6.

Expected Behavior

Docker should be running in the container. This is on AMD64, in case it matters. Is there any documentation on how this DIND works? Documentation talks about QEMU, does that mean I somehow have to enable nested virtualization? Or will this mod use software QEMU and be slow?

Steps To Reproduce

Using this compose file:

---
services:
  openssh-server:
    image: lscr.io/linuxserver/openssh-server:latest
    container_name: openssh-server
    hostname: shell
    privileged: true
    environment:
      - DOCKER_MODS=linuxserver/mods:universal-docker-in-docker
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - PUBLIC_KEY_DIR=/config/pubkeys #optional
      - SUDO_ACCESS=true #optional
      - PASSWORD_ACCESS=false #optional
      - USER_NAME=jpfau #optional
      - LOG_STDOUT= #optional
    volumes:
      - /var/home/core/local/openssh:/config:Z
    ports:
      - 222:2222
    restart: unless-stopped

docker-compose up produces the error message.

Environment

* Fedora CoreOS 40
* Docker `24.0.5`
* Using the compose file above

CPU architecture

x86-64

Docker creation

docker-compose ip

Container logs

[mod-init] Running Docker Modification Logic
[mod-init] Adding linuxserver/mods:universal-docker-in-docker to container
[mod-init] Downloading linuxserver/mods:universal-docker-in-docker from lscr.io
[mod-init] Installing linuxserver/mods:universal-docker-in-docker
[mod-init] linuxserver/mods:universal-docker-in-docker applied to container
[migrations] started
[migrations] no migrations found
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    1000
User GID:    1000
───────────────────────────────────────
Linuxserver.io version: 9.7_p1-r4-ls182
Build-date: 2024-12-22T18:48:10+00:00
───────────────────────────────────────
    
User name is set to jpfau
sudo is enabled without password.
SSH host public key(s):
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHCjBRI82OBUI3V0jiVIpv3urEyutC5eMb+1mhyPJP1nZRpCDWEriu/eAjuCz6pNKHznOtDBjdPCsGwRmZtB/T8= root@shell
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIg9QOoYbVlivT9ctal7di8JkYmmMsibRHTRYXx/isvF root@shell
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCkXJDN6mZOrKk4/n8gZozw/fP7HveyeAObheMcM5T2qaI/tTokAjAYlS5g2HDnzIflL/USXk03NBPDr7VTY1syRAzqwvIIQBdTQ2pOYcMam3jDip4vUAmuxx6VjfHts3I0NvFNfrcPe6w8YRwzMzBJXBxUDTJacmcAqFBtMhL23dSqwk+GZ5YKvJ2KljpH+2DQ1eaIK4DY4aDkBFh0wyBQ+qr44lcuJfaWCRbEHga13QSMV8Bzcej4uuImie0EI3i5sWnEVfCZb0/i7BBPJUvq3lYASmQCYJz3nYdTNkUL59NIYhUdG8SllMAwsdF2yCbcrRGZUVCuucZTETeTZsf7QZRjzvou2QWnkyDbLdCMBO0iot1wlJzoPeOEwXYD3BmCKL4xN2D1A3OVzUbQFRxaEEd1jImHpE6+6H1Anapsm3zVE48KQUtFOgcBzyo8IPFoK98+avOrOSxbHHwka0efTSVbDQEDcXLQBzikBagJTLUqdDjiA63pqcVEfRYBpO8= root@shell
sshd is listening on port 2222
User/password ssh access is disabled.
**** installing docker and docker compose ****
**** Adding docker-in-docker dependency packages to install list ****
Copying over docker and docker-compose binaries
[pkg-install-init] **** Installing all mod packages ****
fetch http://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
(1/21) Installing libeconf (0.6.3-r0)
(2/21) Installing libblkid (2.40.1-r1)
(3/21) Installing lzo (2.10-r5)
(4/21) Installing eudev-libs (3.2.14-r2)
(5/21) Installing libuuid (2.40.1-r1)
(6/21) Installing btrfs-progs (6.8.1-r1)
(7/21) Installing libcom_err (1.47.0-r5)
(8/21) Installing e2fsprogs-libs (1.47.0-r5)
(9/21) Installing e2fsprogs (1.47.0-r5)
(10/21) Installing e2fsprogs-extra (1.47.0-r5)
(11/21) Installing libmnl (1.0.5-r2)
(12/21) Installing libnftnl (1.2.6-r0)
(13/21) Installing libxtables (1.8.10-r3)
(14/21) Installing iptables (1.8.10-r3)
(15/21) Installing openssl (3.3.2-r1)
(16/21) Installing pigz (2.8-r1)
(17/21) Installing inih (58-r0)
(18/21) Installing userspace-rcu (0.14.0-r2)
(19/21) Installing xfsprogs (6.8.0-r0)
(20/21) Installing xz-libs (5.6.2-r0)
(21/21) Installing xz (5.6.2-r0)
Executing busybox-1.36.1-r29.trigger
OK: 39 MiB in 82 packages
[custom-init] No custom files found, skipping...
s6-supervise svc-mod-universal-docker-in-docker: warning: invalid notification-fd
s6-supervise svc-mod-universal-docker-in-docker: warning: unable to spawn ./run (waiting 60 seconds): Bad file descriptor
@jpf91
Copy link
Author

jpf91 commented Dec 23, 2024

Small update: What I wanted to do ultimately was set up an SSH server with a distrobox instance. This way I can ssh into the basic linuxserver container (which can be kept up-to-date by pulling new docker images) and run any other distro with full package access using distrobox.

I wanted to use docker for this, but it seems this whole setup is way easier to manage using podman. I just use the universal-package-install mod now and let it install distrobox, which also installs podman. I then mount the /etc/subuid and /etc/subgid files as volumes, as they need to be configured for podman. Additionally, the openssh-server container has to run in privileged mode. And that's it, with these changes distrobox works fine.

So although this bug report is still valid, I'd recommend just using podman instead.

@aptalca
Copy link
Member

aptalca commented Dec 23, 2024

Looks like your system doesn't like file descriptors in the high range. We'll switch it to a lower one.

@jpf91
Copy link
Author

jpf91 commented Dec 23, 2024

Thanks! I guess that's some ulimit thing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Issues
Development

No branches or pull requests

2 participants