Skip to content

Conversation

@weiyuhang2011
Copy link
Contributor

Currently, the IPC namespace is not actually shared when using the --ipc=shareable and --ipc=container:.

Steps to reproduce

nerdctl run -d --name ipc_master --ipc=shareable alpine:latest sleep 3600
nerdctl run -d --name ipc_slave --ipc=container:ipc_master alpine:latest sleep 3600
pid_master=$(nerdctl inspect ipc_master --format '{{.State.Pid}}')
pid_slave=$(nerdctl inspect ipc_slave --format '{{.State.Pid}}')
readlink /proc/$pid_master/ns/ipc
readlink /proc/$pid_slave/ns/ipc

This commit explicitly set the IPC namespace path to the target container’s namespace in container IPC mode.
Add assertions in the shared IPC tests to compare ipc between container1 and container2, including after restart.

Ref: #4702

@AkihiroSuda AkihiroSuda added this to the v2.3.0 milestone Feb 4, 2026
@AkihiroSuda
Copy link
Member

in-container / rootful (canary) failed 15 times
https://github.com/containerd/nerdctl/actions/runs/21310285503/job/63069638085?pr=4718

Could you try rebasing?

@ChengyuZhu6
Copy link
Member

Please rebase to main to fix conflict.

Signed-off-by: Yuhang Wei <weiyuhang2011@gmail.com>
Signed-off-by: Yuhang Wei <weiyuhang2011@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants