当您查看Dockerfile的maven构建时,它包含以下行:
VOLUME /root/.m2
Run Code Online (Sandbox Code Playgroud)
现在,如果这是我的.m2存储库在我的Mac上的位置,这将是很好的- 但它不是 - 它在
/Users/myname/.m2
Run Code Online (Sandbox Code Playgroud)
现在我能做到:
但是后来Docker中的linux实现不知道在那里看.我想将linux位置映射到mac位置,并将其作为我的一部分vagrant init.有一些像:
ln /root/.m2 /Users/myname/.m2
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何将docker镜像指向我的.m2目录,以便在mac上的docker中运行maven?
我正在尝试构建一个 Java 应用程序并使用 docker 制作一个包。这个构建需要一个 maven 存储库,我不想包含在图像中,因为它非常大。我想尝试使用卷并将我的本地 Maven 存储库挂载到映像中的 Maven 存储库。我使用apt-get install -y maven是为了让 maven 可用,但我.m2在图像中找不到目录$HOME。
我用ls -la $HOME,ls -la和ls -la /root找到maven home,但那里没有.m2目录。
编辑 1:
我有这些行Dockerfile:
FROM ubuntu
MAINTAINER Zeinab Abbasimazar
# Install and configure required packages
RUN apt-get update; \
apt-get install -y --no-install-recommends apt-utils; \
apt-get install -y dialog; \
apt-get install -y wget unzip curl maven; \
mkdir $HOME/.m2/; \
ls …Run Code Online (Sandbox Code Playgroud)