如何将任何文件夹复制到 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
可以将它的内容复制到容器中?我查找了 ADD
和 COPY
,但只有当 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
相对于.
做COPY
或ADD
假设我在 git - REPO
上有一个存储库,我已将其链接到 Docker Cloud 以进行自动构建。构建要求我将整个 REPO
文件夹复制到容器中。
有没有什么方法可以让Docker里面的文件REPO
可以将它的内容复制到容器中?我查找了 ADD
和 COPY
,但只有当 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
相对于.
COPY
或ADD