V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zerphyr
V2EX  ›  Kubernetes

K8S 中的 POD,如何安全的执行 docker build?

  •  
  •   zerphyr · 18 小时 41 分钟前 · 712 次点击

    问题

    服务运行环境是 k8s ,如果要执行 docker 命令,主要是安全问题,如何避免容器逃逸?

    AI 提供了两种解决方案

    1. 挂载主机 sock 使用 dind 执行 docker 命令
    2. 使用 buildx/buildkit ,维护一个专门执行 docker 命令的集群提供 docker 能力

    想问下大家有没有遇到类似的问题,如何解决的?

    第 1 条附言  ·  17 小时 24 分钟前
    找到了历史的回答: https://v2ex.com/t/1139075
    9 条回复    2025-09-02 11:28:46 +08:00
    weilai99
        1
    weilai99  
       18 小时 16 分钟前
    用 kaniko
    SmallZheng
        2
    SmallZheng  
       18 小时 12 分钟前
    kaniko +1
    anubu
        3
    anubu  
       18 小时 9 分钟前   ❤️ 1
    kaniko 不再维护了,但应该能继续用。docker 有 dind 镜像,sidecar 挂给业务容器,或 daemonset 每个节点放一个应该都行。
    orFish
        4
    orFish  
       18 小时 8 分钟前
    @weilai99
    @SmallZheng kaniko 已经 archived 了
    danbai
        5
    danbai  
    PRO
       18 小时 0 分钟前   ❤️ 1
    可以看看 firecracker-containerd 据描述他的隔离级别是对标 qemu
    Clannad0708
        6
    Clannad0708  
       17 小时 55 分钟前   ❤️ 1
    我工作接触过的,一种用 dind ,将宿主机的 sock 挂在进去,就是 dind 。还有可以试下用安全容器技术,katacontainer ,gvisor 。他们有自己的 sandbox 隔离容器。不和宿主机共享内核
    zerphyr
        7
    zerphyr  
    OP
       17 小时 30 分钟前
    @weilai99 kaniko 不考虑,首先不维护,其次会有特性缺失
    ExplodingFKL
        8
    ExplodingFKL  
       3 小时 9 分钟前   ❤️ 1
    kaniko 算是侵入性最小的方案了,而且只是没有新特性更新了,错误修复还是在继续进行: https://github.com/chainguard-dev/kaniko

    或者就是使用 sysbox : https://github.com/nestybox/sysbox 处理部分执行权限问题然后在 pod 内用 docker/podman

    最后就是:不要考虑任何依赖特权模式的解决方案
    weilai99
        9
    weilai99  
       38 分钟前
    buildah 也行
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4444 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 04:07 · PVG 12:07 · LAX 21:07 · JFK 00:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.