将目录中的文件复制到与Dockerfile不在同一级别的Docker容器中

时间:2018-07-09 22:02:34

标签: docker

我正在尝试在Dockerfile中创建Docker映像时复制目录的内容,但是在复制目录时却出现错误-

  

复制失败:统计   / var / lib / docker / tmp / docker-builder108255131 / Users / user_1 / media:否   这样的文件或目录

我在Dockerfile中有以下文件-

COPY /Users/user_1/media/. /code/project_media/

媒体目录位于单独的目录级别,然后是Dockerfile。

1 个答案:

答案 0 :(得分:1)

抱歉,每个dockerfile文档:

  

可以指定多个资源,但是文件和目录的路径将被解释为相对于构建上下文的来源

https://docs.docker.com/engine/reference/builder/#copy

我通常会有一个用于构建docker的脚本,并在该脚本中将COPY命令所需的文件复制到“构建上下文”的同一目录或子目录中(说与dockerfile所在目录相同的目录非常令人困惑)

DOCKER_BUILD_DIR="./build/docker"
DOCKERFILE="./docker/Dockerfile"
MEDIA_FILES="/Users/user_1/media"

mkdir -p "${DOCKER_BUILD_DIR}/${MEDIA_FILES}"
cp -f "${DOCKERFILE}" "${DOCKER_BUILD_DIR}/"
cp -rf "${MEDIA_FILES}" "${DOCKER_BUILD_DIR}/${MEDIA_FILES}/.."

docker build "${DOCKER_BUILD_DIR}"