我是码头工人的新手。我想了解以下问题。我一直在寻找,但我找不到我的问题的答案。
为什么我尝试复制文件时总是得到错误的路径?
这是否意味着我只能将文件从我拥有 dockerfile 的同一目录复制到 docker 映像中?有没有办法从主机上的其他目录复制文件?
有没有办法直接在 Dockerfile 中传递主机的环境变量而不使用“ARG”和 --build-arg 标志?
以下是我目前拥有的
文件结构是这样的:
/home/user1/docker
|__ Dockerfile
在 Dockerfile 中:
From
ARG BLD_DIR=/tmp
RUN mkdir /workdir
WORKDIR /workdir
COPY ${BLD_DIR}/a.file /workdir
我跑了
root@localhost> echo $BLD_DIR
/tmp/build <-- BLD_DIR 是自定义变量;意味着每个开发环境都不同
docker build --build-arg BLD_DIR=${BLD_DIR} -t docker-test:1.0 -f Dockerfile
总是出错
复制失败:stat /var/lib/docker/tmp/docker-builder035089075/tmp/build/a.file:没有这样的文件或目录