containerd / containerd/nerdctl

default snapshotter configuration overrides containerd namespace-based defaults

Open
#4,033 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
10.4k
Forks
826
Avg merge
1d 23h
Merged PRs (30d)
44

Description

### Description

The current nerdctl implementation sets a global default snapshotter (overlayfs), which overrides containerd's namespace-specific snapshotter configuration defined via namespace labels ([ref](https://github.com/containerd/containerd/blob/main/docs/namespaces.md#namespace-labels)). According to containerd's design, the default snapshotter for a namespace is resolved only when no snapshotter is explicitly specified.

### Steps to reproduce the issue

1. Configure a containerd namespace (e.g., k8s.io) with a label containerd.io/snapshotter=devmapper.
2. Run nerdctl -n k8s.io run ... without specifying --snapshotter.
3. Observe that nerdctl still uses overlayfs instead of the namespace-configured devmapper.

### Describe the results you received and expected

If no --snapshotter is provided, nerdctl should defer to containerd's resolution logic, honoring namespace-level defaults.

### What version of nerdctl are you using?

v2.0.4

### Are you using a variant of nerdctl? (e.g., Rancher Desktop)

None

### Host information

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.