如何使 Dockerfile COPY 为 windows 绝对路径工作?

How to make Dockerfile COPY work for windows absolute paths?

如何让我的 COPY 命令对 Windows 上的绝对路径起作用?我尝试使用 git-bash、cmd 和 powershell 控制台来构建 docker build -t custom-maven-image .

# Dockerfile
FROM maven:3-openjdk-11-slim
# these are three versions of copy command I tried
COPY C:/Users/myuser/.m2 /root/.m2
COPY /C/Users/myuser/.m2 /root/.m2
COPY /c/Users/myuser/.m2 /root/.m2

我得到的是一个错误:

...
#5 ERROR: "/C/Users/myuser/.m2" not found: not found

更新:

感谢@Jeremy 的错误参考,现在我看到 docs 清楚地说:

COPY obeys the following rules:

The path must be inside the context of the build; you cannot COPY ../something /something, because the first step of a docker build is to send the context directory (and subdirectories) to the docker daemon.

所有资源都需要在您 运行 构建的目录中,即您的 Dockerfile 所在的目录。您不能使用来自其他地方的绝对路径,从构建的角度考虑它 - 构建发生在哪里 - 在 Dockerfile 中?它可以 运行 命令,但这些资源需要 public.