栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从docker内部运行docker可以吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从docker内部运行docker可以吗?

如果可能,应尽可能避免在Docker内部运行Docker(aka dind )。(下面提供了源。)相反,您想为主容器建立一种方式来产生 同级
容器并与之进行通信。

JérômePetazzoni是该功能的作者,该功能使Docker可以在Docker容器中运行,他实际上写了一篇博客文章说不要这样做。他描述的用例与OP的CI
Docker容器的确切用例匹配,该CI容器需要在其他Docker容器中运行作业。

佩塔佐尼列举了导致麻烦的两个原因:

  1. 它与Linux安全模块(LSM)配合不佳。
  2. 它会在文件系统中造成不匹配,从而给在父容器内创建的容器带来问题。

他在该博客文章中介绍了以下替代方案,

[最简单的方法是通过将Docker套接字与

-v
标志绑定安装,从而将Docker套接字公开给您的CI容器。

简而言之,当您启动CI容器(Jenkins或其他)时,不要与Docker-in-Docker一起入侵某些东西,而应使用:

docker run -v /var/run/docker.sock:/var/run/docker.sock ...

现在,此容器将可以访问Docker套接字,因此将能够启动容器。除了代替启动“子”容器之外,它将启动“同级”容器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号