我正在容器内执行此测试用例,因为golang:1.7在我的主机上不可用。 我创建了一个容器并以bash模式启动它,并按照链接https://tdeheurles.github.io/acting-on-docker-from-inside-docker/
中提到的步骤进行操作这是我面临的问题,当我尝试构建一个泊坞窗图像时,它始终显示以下错误
来自守护程序的错误响应:找不到指定的Dockerfile: Dockerfile
这是我的Dockerfile内容
FROM golang:1.9
我创建这个Dockerfile只是为了测试,以确保我能够使用golang程序创建图像。
这是我的goLang逻辑
dockerFile := "Dockerfile"
imageName := "test_build_image"
ctx := context.Background()
cli, err := client.NewEnvClient()
buildOptions := types.ImageBuildOptions{ Tags: []string{imageName}, Dockerfile: dockerFile }
buildResponse, err := cli.ImageBuild(ctx,dockerBuildContext, buildOptions)
编辑:1
奇怪的是这段代码正在运作
cli, _ := client.NewEnvClient()
dockerBuildContext, err := os.Open("anil_test.tar")
defer dockerBuildContext.Close()
buildOptions := types.ImageBuildOptions{Tags: []string{"my_image"}, Dockerfile: "Dockerfile"}
buildResponse, err := cli.ImageBuild(context.Background(), dockerBuildContext, buildOptions)
当我通过将我的Dockerfile作为参数传递给os.Open(“Dockerfile”)来使用相同的代码时,它无效。这是否意味着我们只需要传递Docker的.tar文件?