I have the following nested setup:
- Proxmox PVE on bare metal (Intel Nuc / 5.15.158-2-pve)
- Debian Stable as LXC container on 5.15.158-2-pve
- Home Assistant as unprivileged Docker container (Docker version 27.1.1, build 6312585)
This works well, except for USB pass-through, since I updated Docker this morning I get the error:
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error creating device nodes: mount /dev/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2149131-if00:/var/lib/docker/overlay2/963a244fa0d220f872cc0e02714e6045b112c5db6404ce5a47903ec936b2e51e/merged/dev/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2149131-if00 (via /proc/self/fd/6), flags: 0x1000: no such file or directory: unknown
Does anyone know why this is happening and how I can solve this? I think it’s due to a Docker issue, but I’ve also asked the same question on the proxmox forum.
What doesn’t work:
- Restarting either the Docker container, the Debian LXC, or Proxmox PVE
- Running
docker system prune -a
- Deleting
/var/lib/docker/overlay2/
and re-pulling all images/containers - Running docker in privileged mode
What does work:
- Running the container without the USB device
I’m using the following compose file:
tim@debian:~$ cat docker/home-assistant-compose.yml
# version: '3'
# https://www.home-assistant.io/installation/linux#docker-compose
# docker compose -f home-assistant-compose.yml up -d
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /var/lib/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
network_mode: host
devices:
- /dev/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2149131-if00
When running this config, I get the following error:
tim@debian:~/docker$ sudo docker compose -f home-assistant-compose.yml up -d
WARN[0000] Found orphan containers ([docker-app-1 docker-db-1 pigallery2]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
[+] Running 0/1
⠼ Container homeassistant Starting 0.4s
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error creating device nodes: mount /dev/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2149131-if00:/var/lib/docker/overlay2/06f5efd809d035a93128edc19bb936c62b21b18f6e3e6a402a881c3852aa81c3/merged/dev/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2149131-if00 (via /proc/self/fd/6), flags: 0x1000: no such file or directory: unknown
Looking at the specifics, the source file exists:
tim@debian:~$ ls -l /dev/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2149131-if00
crw-rw---- 0 root dialout 166, 0 Aug 8 08:12 /dev/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2149131-if00
And the overlay source also exists:
tim@debian:~$ sudo ls -l /var/lib/docker/overlay2/06f5efd809d035a93128edc19bb936c62b21b18f6e3e6a402a881c3852aa81c3/
total 16
drwxr-xr-x 3 root root 4096 Aug 8 08:53 diff
-rw-r--r-- 1 root root 26 Aug 8 08:53 link
-rw-r--r-- 1 root root 927 Aug 8 08:53 lower
drwx------ 3 root root 4096 Aug 8 08:53 work
however there is no ‘merged’ folder under the overlay directory structure. It seems Docker doesn’t (re)create this?
Does anyone know why this could be the case? I’m at a loss . It seems something changed on Docker as the problem started when I updated that. Thanks in advance!