Dockerfile 多阶段构建中,如何指定一个真实的挂载路径?
docker 难道只能在运行时挂载一个目录?因为我使用多阶段构建(参考
http://ju.outofmemory.cn/entr...), 每次构建的第一个阶段都需要重新下载一遍依赖。
我觉得可以把母机上的一个路径挂载到第一个阶段里保存依赖的第三方库,下次构建或者别的项目构建就会快很多了。
能不能办到?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
大概说一下,拿我稍微熟悉的Node.js来举例,你可能是不想在容器里创建node_modules这个依赖包文件夹,而是把宿主机的某个目录给挂载过去是吧?但是在构建的过程中,你需要下载依赖不止一次?或者是有多个依赖包文件夹?
我没实验过,不过我猜想哪怕你有多个安装包文件夹,容器运行时可以一个个分别挂载,那么这么做应该是可以的:
不过理论上来说这么做不太好,毕竟镜像的依赖包跟运行环境牵扯太大,我是这么弄Dockerfile的:
我先把依赖配置文件拷贝进镜像里,然后安装依赖包,再拷贝项目。
这样之后只要依赖包配置文件不变化,那么在安装依赖包这一步的镜像层可以反复利用,构建速度会有很大提升。
希望能帮助到你。