K8S 中的 POD,如何安全的执行 docker build? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zerphyr
V2EX    Kubernetes

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

  •  
  •   zerphyr 2025 年 9 月 1 日 2823 次点击

    问题

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

    AI 提供了两种解决方案

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

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

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

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

    最后就是:不要考虑任何依赖特权模式的解决方案
    weilai99
        9
    weilai99  
       2025 年 9 月 2 日
    buildah 也行
    sampeng
        10
    sampeng  
       2025 年 9 月 2 日
    以前我也焦虑这个问题。后来想明白了。。这都是自己吓自己。没有任何手段从外部进来。docker build 也是自己写,ci 自动调度的。哪来的 docker 逃逸呢?
    standchan
        11
    standchan  
       2025 年 9 月 2 日
    buildkit
    Lee2019
        12
    Lee2019  
       2025 年 9 月 2 日
    docker context 配置一个远端的 docker host ,容器里面只要有 docker cli 即可
    julyclyde
        13
    julyclyde  
       2025 年 9 月 6 日
    我还以为在“里面”运行一个 docker daemon 才叫 dind 呢
    没想到居然是挂外边的 sock 进去??
    zidy/td>
        14
    zidy  
       2025 年 10 月 8 日   1
    buildkit rootless 模式。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2489 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 11:51 PVG 19:51 LAX 03:51 JFK 06:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86