我有一个 Maven 项目。我正在 Docker 内运行 Maven 构建。但问题是,每次运行它时,它都会下载所有 Maven 依赖项,并且不会缓存任何 Maven 下载。
我找到了一些解决方法,将本地 .m2 文件夹挂载到 Docker 容器中。但这将使构建依赖于本地设置。我想做的是创建一个卷(长期存在)并将该卷链接/安装到.m2
Docker 内的文件夹。这样,当我第二次运行 Docker 构建时,它就不会下载所有内容。而且它不会依赖于环境。
我该如何使用 docker-compose 来做到这一点?
在不知道你的确切配置的情况下,我会使用这样的东西......
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
,这将破坏容器和卷。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)