我们使用docker容器作为我们的Jenkins构建slave,每个VM主机10个docker容器
问题是,一个容器的/tmp
文件夹可以被所有其他容器访问,它会在CI构建执行期间干扰吗?
没有特殊的配置允许容器之间的通信,但是想要了解,是否有任何默认设置允许这个特性?
容器永远不能访问其他容器的文件系统。你不能在其他容器中读写文件或运行二进制文件。
唯一的例外是,在启动时,相同的外部内容(主机目录或命名卷)被挂载到多个容器中。这将隐藏原来在这些目录中各自映像中的内容,并用挂载的内容替换它们;这不是一个(可靠的)方式来发布一个图像的内容到另一个。
如果你使用Jenkins的docker.inside()
调用,它生成的docker run
命令有很多选项,这些选项可以将当前构建目录发布到相同路径的容器中。除非包含-v ...:/tmp
选项,否则/tmp
目录将被隔离到每个容器。