【发布时间】:2021-12-18 21:55:09
【问题描述】:
我正在努力寻找一种方法来加快我的测试速度。所以我的问题是,每次我对代码进行小幅改动时,是否有办法防止重建 docker 映像?假设我刚刚在一个大项目中更改了一条日志行,然后我需要停止容器,删除容器,删除映像,最后根据新的应用程序构建重建新映像,并将其调出只是为了更改日志行!该应用程序本身很大,我正在使用 docker-machine 在远程服务器上运行它,所以请进行数学计算。我有基本图像并为它们使用缓存,但应用程序本身很大,如 50MB。我尝试在 docker-compose 文件中将我的应用程序的目标文件夹挂载到容器中,如下所示:
Docker 文件是这样的:
但它不起作用。我认为将 jar 文件安装到容器可以解决问题,就像每次我只需要使用 maven 构建应用程序然后重新启动容器时(这样容器就会随着新构建重新启动)。任何帮助表示赞赏。
【问题讨论】:
-
您能否发布一个包含敏感信息编辑的示例 docker-compose 文件,以便我们获得更多信息?这种工作流程的一个想法是让一个 docker-compose 用于开发,一个用于生产。这也取决于我们处理的语言。
-
我更新了问题。我认为将 jar 文件安装到容器可以解决问题,但它没有。
-
这不是一个好的做法。始终进行构建或代码更改。
-
为什么不是一个好习惯,那么使用 docker 开发环境有什么意义呢?我认为 docker 可以帮助您,否则每次在应用程序构建之上构建图像非常耗时。
-
我对java没有太多经验,但我认为您正在寻找的概念可以称为“热重载”。你能看看链接是否有帮助吗? stackoverflow.com/questions/55322488/…
标签: docker docker-compose development-environment