如何将任何文件夹复制到 Docker 容器 - 而 Docker 文件存在于该文件夹中?

How do you copy any folder to a Docker container - while the Dockerfile is present in that folder?

假设我在 git - REPO 上有一个存储库,我已将其链接到 Docker Cloud 以进行自动构建。构建要求我将整个 REPO 文件夹复制到容器中。

有没有什么方法可以让Docker里面的文件REPO可以将它的内容复制到容器中?我查找了 ADDCOPY,但只有当 Dockerfile 存在于 REPO 之外的一个目录的文件夹中时,它们才有效。

FOLDER |-> Dockerfile REPO -- 有效

FOLDER |-> REPO |-> Dockerfile -- 无效

连通配符,如命令: ADD ./* /root/ 似乎没有用。

如果我理解正确,以下 docker 文件可以满足您的需求:

FROM alpine

RUN mkdir /test
WORKDIR /test

COPY ./ /test/

CMD ["/bin/sh"]

$dir 中输入以下内容,运行 docker 从 $dir 构建:

Dockerfile somefile   somefolder
docker 图像中的

/test/ 包含:

/test # ls
Dockerfile  somefile    somefolder

完全有可能做到这一点。作为 . 你的 FOLDER 的根(如你所示)。您需要:

docker build . -f REPO/Dockerfile -t imagename

相对于.

COPYADD