当前位置: 首页 > 面试题库 >

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

汲涵育
2023-03-14
问题内容

当您查看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?


问题答案:

如何将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命令的预期行为一致。



 类似资料:
  • 问题内容: 我正在尝试在Ubuntu容器中下载Debian软件包,如下所示: 我懂了 我已经安装了docker,如下所示: 如何下载文件? 问题答案: 您需要先安装它。创建一个新的,并在其中安装wget: 然后,构建该图像: 最后,运行它:

  • 问题内容: 我有一个Docker映像,它是一个node.js应用程序。该应用程序从本地运行的Redis检索一些配置值。因此, 我试图在Docker映像内的同一容器内安装和运行Redis。 如何扩展Docker文件并在其中配置Redis? 到目前为止,Dockerfile如下: 从节点:碳 WORKDIR / app COPY package.json / app 运行npm安装 复制。/ app

  • 我有一个Docker映像,它是一个Node.js应用程序。应用程序从本地运行的Redis检索一些配置值。因此,我试图在Docker映像的同一容器中安装和运行Redis。 我如何扩展Docker文件并在其中配置Redis? 截至目前,Dockerfile如下所示:

  • 问题内容: 我正在使用适用于Mac的Docker,并希望通过我的开发环境创建一个运行Mac El Capitan的Docker映像。 我没有找到任何资源。我所看到的只是Linux安装。 在Linux上,我看到的事情很简单: 但是,OS X安装和运行其他软件的FROM值将是多少? 问题答案: 如果您尝试将Mac OS作为基本系统运行在Docker容器中,则无法执行此操作。 Docker容器需要使用主

  • 问题内容: 我已成功将docker用于Windows 10上带有Linux容器的Windows窗口-但现在我想使用新的闪亮Windows Server 2016进行该任务-但是如何呢? 我已经使用此指南安装了Docker功能:https : //msdn.microsoft.com/zh- cn/virtualization/windowscontainers/quick_start/quick_

  • 我可以在docker上导入此图像,但无法运行。 我所做的: 将图像文件从“.img”格式压缩为“.tar.gz”格式,以便导入docker图像。我使用7-zip工具来转换这个。 我使用这个新文件(.tar.gz)<从本地文件导入了docker图像 试图运行此导入的映像,但失败。 执行的命令: 我对此错误进行了大量搜索,发现为了运行,我们需要指定创建映像时使用的路径(在Dockerfile中),但我