我正在尝试使用官方 GO API 构建 Docker 镜像,但我在这一行遇到了问题:
COPY packages /tmp/packages
的
"message":"COPY failed: stat /var/lib/docker/tmp/docker-builder107969114/packages: no such file or directory"
其中packages是docker文件所在目录下的一个文件夹。
如果我只是将 docker 镜像构建到 Dockerfile 的路径,它会按预期构建。
我尝试将 WORKDIR 添加到 Dockerfile 在实际 Dockerfile 中的路径,但它似乎仍然找不到该文件夹。
有人知道这是怎么回事吗?
最佳答案
如果其他人遇到此问题,如果您的主机配置有任何安装,例如:
&container.HostConfig{
Mounts:[]mount.Mount{
{
Source: .../somePath,
Target: .../somePath,
}
}
}
您使用正确的构建上下文构建图像:
cli.ImageBuild(context.Background(), tarFile, types.ImageBuildOptions{})
在您传递的 tarFile 中,.../somePath 存在。
关于docker - 使用 Golang api 构建 docker 镜像时复制失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50393903/