dragonflyoss/nydus

Docker Engine (containerd-snapshotter enabled) fails to run Nydus image: "unable to find user root: no matching entries in passwd file" while nerdctl works

Open

#1,827 opened on Jan 9, 2026

 (2 comments) (1 reaction) (1 assignee)Rust (262 forks)github user discovery
buggood first issue

Repository metrics

Stars
 (1,592 stars)
PR merge metrics
 (Avg merge 1d 5h) (18 merged PRs in 30d)

Description

Problem

nerdctl --snapshotter nydus run ... works, but docker run ... fails after enabling Docker containerd-snapshotter + nydus snapshotter.

Expected behavior

Docker should run the nydus-converted image successfully, same as nerdctl.

Actual behavior

Docker fails with:

unable to find user root: no matching entries in passwd file

Repro steps

  1. Start containerd-nydus-grpc:
containerd-nydus-grpc --nydusd-config /etc/nydus/nydus.json --log-to-stdout

/etc/nydus/nydus.json

{  
  "device": {  
    "backend": {  
      "type": "localfs",  
      "config": {  
        "dir": "/nfs/shared/liuyuxuan/nydus/data/"  
      }  
    },  
    "cache": {  
      "type": "blobcache",  
      "config": {  
        "work_dir": "/var/lib/containerd/io.containerd.snapshotter.v1.nydus/cache"  
      }  
    }  
  },  
  "mode": "direct",  
  "digest_validate": false,  
  "enable_xattr": true,  
  "fs_prefetch": {  
    "enable": true,  
    "threads_count": 4  
  }  
}  
  1. Docker config /etc/docker/daemon.json:
{
  "features": { "containerd-snapshotter": true },
  "storage-driver": "nydus"
}
  1. containerd config (system containerd) /etc/containerd/config.toml:
[proxy_plugins]
  [proxy_plugins.nydus]
    type = "snapshot"
    address = "/run/containerd-nydus/containerd-nydus-grpc.sock"
  1. Run with nerdctl (works):
sudo nerdctl --snapshotter nydus run --net none -it cpp_ubuntu2204:v2-nydus ls /
  1. Run with docker (fails):
sudo docker run --net none -it cpp_ubuntu2204:v2-nydus ls /

Environment

  • OS: Ubuntu 24.04.3 LTS
  • Kernel: 6.8.0-87-generic
  • Docker: 29.1.3
  • containerd (system): 2.2.1
  • nydus: Version: v0.15.10

Question

How to configure Docker Engine to correctly use the nydus snapshotter (same behavior as nerdctl)?

Contributor guide