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

时间:2016-10-11 13:06:39

标签: maven docker docker-compose

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

我找到了一些解决方法,将本地.m2文件夹挂载到Docker容器中。但这将使构建依赖于本地设置。我想要做的是创建一个卷(万岁)并将该卷链接/挂载到Docker中的.m2文件夹。这样,当我第二次运行Docker构建时,它不会下载所有内容。它不会依赖于环境。

如何使用docker-compose执行此操作?

1 个答案:

答案 0 :(得分:5)

如果不知道您的确切配置,我会使用类似的东西......

version: "2"

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

volumes:
  m2-repo:

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

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