如何使用compose将docker卷安装到我的docker项目中?

我有一个Maven项目。 我在Docker中运行我的Maven构build。 但问题是每次运行Maven时都下载所有的Maven依赖项,并且不会caching任何Maven下载。

我find了一些解决办法,将您的本地.m2文件夹安装到Docker容器中。 但是这会使得构build依赖于本地设置。 我想要做的是创build一个卷(长期居住)和链接/挂载该卷到Docker中的.m2文件夹。 这样,当我第二次运行Docker构build时,它不会下载所有的东西。 它不会依赖于环境。

如何用docker-compose做到这一点?

不知道你的确切configuration,我会用这样的东西…

 version: "2" services: maven: image: whatever volumes: - m2-repo:/home/foo/.m2/repository volumes: m2-repo: 

这将创build一个名为m2-repo的数据卷,映射到/home/foo/.m2/repository (根据需要调整path)。 数据量将在Docker Compose项目的上/下/开始/停止中生存。

您可以通过运行诸如docker-compose down -v类的东西来删除卷,这会破坏容器和卷。