【问题标题】:Docker build on github branch cannot find file specified在 github 分支上构建的 Docker 找不到指定的文件
【发布时间】:2019-10-22 19:47:54
【问题描述】:

我正在尝试使用以下命令在 Windows 10 上构建 Docker 映像:

docker build -t cron_runner .

但是我得到以下错误:

unable to prepare context: unable to evaluate symlinks in context path: readlink C:\Users\xxx\Tools\Internal_Tools: The system cannot find the file specified.

文件夹中有一个标准的 Dockerfile,没有扩展名。然而,该文件夹位于不是 master 的 git 分支上。

如果我将 Dockerfile 从 Git 文件夹移到本地文件夹中,则 docker 映像构建没有任何问题,所以我认为问题与它在分支上的事实有关,因此存在符号链接问题。

【问题讨论】:

    标签: git docker docker-build


    【解决方案1】:

    当你运行docker build; docker 复制你的上下文;这是 Dockerfile 所在的整个目录(使用 .dockerignore 时除外)。

    看起来(损坏的?)符号链接位于 Dockerfile 所在的目录中;所以要么清理父目录;要么将 Dockerfile 移动到一个干净的子目录中。

    【讨论】:

    • “清理”是什么意思?它是一个带有分支的初始 git 项目。是不是我切换分支破坏了符号链接?
    • git 分支不会影响这一点;它只是文件系统。进入 Dockerfile 所在的目录并运行 ls -la ;那么你可能会发现损坏的符号链接。
    • 您一定在某处创建了指向 Internal_Tools 的符号链接?
    • 我没有,但我只是将项目的根文件夹移出并重新制作它并且它可以工作。我没有链接,奇怪。
    猜你喜欢
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2019-02-18
    相关资源
    最近更新 更多