小编典典

如何将docker映像指向.m2目录,以便在Mac上的docker中运行maven?

linux

当您查看Maven构建Dockerfile时,其中包含以下行:

VOLUME /root/.m2

现在,如果这是我的.m2存储库在我的Mac上的位置,那将是很棒的-但事实并非如此-它在

/Users/myname/.m2

现在我可以做:

但是后来Docker中的Linux实现不知道在那儿看。我想将linux位置映射到mac位置,并将其作为我的一部分vagrant init。就像:

ln /root/.m2 /Users/myname/.m2

我的问题是: 如何将docker映像指向.m2目录,以便在Mac上的docker中运行maven?


阅读 437

收藏
2020-06-07

共1个答案

小编典典

如何将docker映像指向.m2目录,以便在Mac上的docker中运行maven?

您宁愿将主机文件夹(例如/Users/myname/.m2)指向 容器 文件夹(而不是映像)

请参阅“
将主机目录挂载为数据卷 ”:

除了使用该-v标志创建卷之外,还可以 将Docker守护程序主机的目录挂载到容器中

$ docker run -d -P --name web -v /Users/myname/.m2:/root/.m2 training/webapp python app.py

此命令将主机目录挂载/Users/myname/.m2到位于的容器中/root/.m2
如果该路径/root/.m2已经存在于容器的映像内,则/Users/myname/.m2安装会覆盖但不会删除先前存在的内容。
除去挂载后,即可再次访问内容。
这与mount命令的预期行为一致。

2020-06-07