duandie0921 2018-05-17 14:22
浏览 186
已采纳

使用Golang API构建Docker映像时复制失败

I'm trying to build a Docker Image using the official GO API, but I run into a problem on this line:

COPY packages /tmp/packages

of

"message":"COPY failed: stat /var/lib/docker/tmp/docker-builder107969114/packages: no such file or directory"

Where packages is a folder in the directory where the docker file resides.

If I just build a docker image build to the path of the Dockerfile it builds as expected.

I tried adding a WORKDIR to the path where the Dockerfile is in the actual Dockerfile but it still seems like it can't find the folder.

Does anyone know what's going on here?

  • 写回答

2条回答 默认 最新

  • douyi4991 2018-05-22 13:42
    关注

    If anyone else encounters into this problem, if you have any mounts for your host config like:

    &container.HostConfig{
        Mounts:[]mount.Mount{
            {
                Source: .../somePath,
                Target: .../somePath,
            }
        }
    }
    

    That you built the image with the correct build context:

    cli.ImageBuild(context.Background(), tarFile, types.ImageBuildOptions{})
    

    That within the tarFile that you're passing, .../somePath exists.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?