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

din*_*707 4 maven docker docker-compose

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

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

我怎么能用docker-compose做到这一点?

nwi*_*ler 5

如果不知道你的确切配置,我会用这样的东西......

version: "2"

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

volumes:
  m2-repo:
Run Code Online (Sandbox Code Playgroud)

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

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