docs: remove bind-propagation=shared, document runc v1.3.5 crash
runc v1.3.5 (Docker 29.x / Unraid 7.3+) crashes on bind-propagation=shared with any container — not GPU-specific. Ramdisk tmpfs is already MS_SHARED at kernel level; propagation is automatic and the option is unnecessary. - Remove bind-propagation=shared from all example Extra Parameters - Update "Why shared Is Required" → "Mount Propagation — Unraid 7.3+" - Update GPU troubleshooting section to cover the general runc crash - Verify commands updated (no longer checking for Propagation: shared) - Historical notes preserved explaining why it existed before Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
cd2fd1af70
commit
cbf8593225
@@ -702,17 +702,17 @@ unRAID forum posts, community applications templates, and most search results.
|
||||
|
||||
**Why it breaks here:**
|
||||
|
||||
1. `--runtime=nvidia` combined with `NVIDIA_VISIBLE_DEVICES` conflicts with
|
||||
`bind-propagation=shared` on unRAID 7.2.5+. A kernel change in mount namespace
|
||||
initialization exposed a conflict between the NVIDIA device mount phase and shared
|
||||
propagation setup. The container fails to start with:
|
||||
1. `--runtime=nvidia` combined with `NVIDIA_VISIBLE_DEVICES` has caused conflicts
|
||||
historically and breaks on container rebuilds. With Docker 29.x (Unraid 7.3+),
|
||||
`bind-propagation=shared` crashes runc v1.3.5 entirely — with any container,
|
||||
GPU or not. The container fails to start with:
|
||||
```
|
||||
OCI runtime create failed: unable to start container process:
|
||||
error jailing process inside rootfs:
|
||||
open /proc/self/mountinfo: no such file or directory
|
||||
```
|
||||
This system uses `bind-propagation=shared` for the transcode ramdisk mount.
|
||||
Emby and Jellyfin both require it. The old nvidia method makes them incompatible.
|
||||
The ramdisk tmpfs is already MS\_SHARED at the kernel level. Do not use
|
||||
`bind-propagation=shared` in Extra Parameters on Unraid 7.3+.
|
||||
|
||||
2. When unRAID rebuilds a container from template (update, reinstall from Community
|
||||
Applications), the `--runtime=nvidia` field and the NVIDIA env vars can be dropped
|
||||
@@ -723,13 +723,13 @@ unRAID forum posts, community applications templates, and most search results.
|
||||
|
||||
```bash
|
||||
# DO THIS — everything in Extra Parameters, nothing in Variables
|
||||
--gpus "device=GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1" --pids-limit=0 --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
|
||||
--gpus "device=GPU-62e1659d-1ed4-935f-3df3-4bb4339438f1" --pids-limit=0 --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode
|
||||
```
|
||||
|
||||
`--gpus "device=UUID"` is Docker-native GPU support (Docker 19.03+, released 2019).
|
||||
One field in Extra Parameters. The UUID pins a specific device — no ambiguity on
|
||||
single-GPU systems. No env vars needed. No `--runtime=nvidia`. No conflict with
|
||||
`bind-propagation=shared`. Survives container rebuilds. This is the correct method.
|
||||
single-GPU systems. No env vars needed. No `--runtime=nvidia`. Survives container
|
||||
rebuilds. This is the correct method.
|
||||
|
||||
Find your GPU UUID: `nvidia-smi -L`
|
||||
|
||||
@@ -836,13 +836,13 @@ Things that are different from what you might expect:
|
||||
# HOST1 and HOST2 — no branching on server identity inside scripts.
|
||||
|
||||
# 6. GPU containers: ignore every Google result. Use --gpus, not --runtime=nvidia.
|
||||
# --runtime=nvidia conflicts with bind-propagation=shared on unRAID 7.2.5+.
|
||||
# It also breaks on container rebuilds. See GPU CONTAINERS section above.
|
||||
# --runtime=nvidia breaks on container rebuilds. See GPU CONTAINERS section above.
|
||||
|
||||
# 7. The Emby Docker mount is unusual and critical.
|
||||
# --mount type=bind,...,bind-propagation=shared in Extra Parameters — not a
|
||||
# standard path mapping. Without shared propagation symlink flips are silently
|
||||
# ignored. README-Transcoding.md explains why in detail.
|
||||
# 7. The Emby/Jellyfin Docker mount is unusual and critical.
|
||||
# --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode
|
||||
# in Extra Parameters — not a standard path mapping. Do NOT add bind-propagation=shared:
|
||||
# runc v1.3.5+ (Docker 29.x, Unraid 7.3+) rejects it. The ramdisk is already
|
||||
# MS_SHARED at the kernel level. README-Transcoding.md explains in detail.
|
||||
|
||||
# 8. arr cleanup scripts can delete files.
|
||||
# lidarr_cleanup.sh, sonarr_cleanup.sh, radarr_cleanup.sh permanently delete
|
||||
|
||||
Reference in New Issue
Block a user