首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我不想为了一个小的代码更改而构建docker镜像,

我不想为了一个小的代码更改而构建docker镜像,
EN

Stack Overflow用户
提问于 2021-11-04 17:03:58
回答 1查看 106关注 0票数 0

我正在尝试找到一种方法来加速我的测试。所以我的问题是,有没有办法防止我每次在代码中做一点小改动时都重新构建docker镜像?假设我刚刚更改了一个大项目中的日志行,然后我需要停止容器,删除容器,删除镜像,最后基于新的应用程序构建重建新的镜像,并将其带上来进行日志行更改!这个应用程序本身很大,我使用docker-machine在远程服务器上运行它,所以计算一下。我有基础图像,并使用缓存,但应用程序本身很大,如50MB。我尝试将应用程序的目标文件夹挂载到容器中,如下所示,在带卷的docker-compose文件中:

Docker文件是:

但它不起作用。我认为将jar文件挂载到容器可以解决这个问题,就像每次我只需要使用maven构建应用程序,然后重新启动容器一样(这样容器就可以用新的构建重新启动)。感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-11-04 18:24:35

容器镜像是一种打包方法,意思是“你打包的就是你部署的”。如果可能,你可以在没有容器打包的情况下进行测试,以便进行较小的更改。但如果测试必须基于容器镜像,那么查看jar的挂载路径会发现,您的docker镜像构建可能会花费大量下载maven工件的时间。而不是挂载jar。将.m2目录挂载到开发构建的容器中。

代码语言:javascript
运行
复制
   volumes: 
      - $HOME/.m2:/<set-home-directory>/:rw

这可能是节点中.m2目录上的棘手用户权限。更干净的解决方案是为m2创建一个单独的卷,然后将m2从创建的容器卷挂载到构建器。在这种方法中,只要容器卷可以重用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69843157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档