我正在尝试找到一种方法来加速我的测试。所以我的问题是,有没有办法防止我每次在代码中做一点小改动时都重新构建docker镜像?假设我刚刚更改了一个大项目中的日志行,然后我需要停止容器,删除容器,删除镜像,最后基于新的应用程序构建重建新的镜像,并将其带上来进行日志行更改!这个应用程序本身很大,我使用docker-machine在远程服务器上运行它,所以计算一下。我有基础图像,并使用缓存,但应用程序本身很大,如50MB。我尝试将应用程序的目标文件夹挂载到容器中,如下所示,在带卷的docker-compose文件中:
Docker文件是:
但它不起作用。我认为将jar文件挂载到容器可以解决这个问题,就像每次我只需要使用maven构建应用程序,然后重新启动容器一样(这样容器就可以用新的构建重新启动)。感谢您的帮助。
发布于 2021-11-04 18:24:35
容器镜像是一种打包方法,意思是“你打包的就是你部署的”。如果可能,你可以在没有容器打包的情况下进行测试,以便进行较小的更改。但如果测试必须基于容器镜像,那么查看jar的挂载路径会发现,您的docker镜像构建可能会花费大量下载maven工件的时间。而不是挂载jar。将.m2目录挂载到开发构建的容器中。
volumes:
- $HOME/.m2:/<set-home-directory>/:rw
这可能是节点中.m2目录上的棘手用户权限。更干净的解决方案是为m2创建一个单独的卷,然后将m2从创建的容器卷挂载到构建器。在这种方法中,只要容器卷可以重用。
https://stackoverflow.com/questions/69843157
复制相似问题