You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04下Rancher Desktop类DinD容器嵌套运行的配置问题

在Ubuntu 22.04上用Rancher Desktop实现类似DinD的containerd访问

Rancher Desktop的containerd运行在虚拟机内部,所以宿主系统默认看不到/run/k3s/containerd/containerd.sock,它会把这个socket转发到宿主的用户专属路径下。按以下步骤操作即可实现容器内访问宿主containerd:

  1. 切换到containerd运行时
    打开Rancher Desktop的设置面板,在Container Runtime选项中选择containerd,重启Rancher Desktop生效。

  2. 确认宿主的containerd socket路径
    在宿主终端执行以下命令,检查转发后的socket是否存在:

    ls /run/user/$(id -u)/rancher-desktop/containerd/
    

    正常情况下会看到containerd.sock文件。

  3. 启动带nerdctl的容器并挂载必要资源
    使用包含nerdctl的镜像(比如containerd/nerdctl:latest),挂载宿主的containerd socket和nerdctl配置目录,命令如下:

    docker run --rm -it \
      -v /run/user/$(id -u)/rancher-desktop/containerd/containerd.sock:/run/containerd/containerd.sock \
      -v $HOME/.config/nerdctl:$HOME/.config/nerdctl \
      containerd/nerdctl:latest \
      /bin/bash
    

    进入容器后,直接执行nerdctl ps就能看到宿主containerd中运行的容器,实现类似DinD的交互效果。

注意:如果你的Rancher Desktop版本不同,socket路径可能略有差异,若上述路径不存在,可通过rdctl shell进入Rancher Desktop的虚拟机,确认内部/run/k3s/containerd/containerd.sock存在后,再检查宿主/run/user/<你的UID>/rancher-desktop/下的子目录。

内容的提问来源于stack exchange,提问作者Gavin Yap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:25:19