Criar imagem do Docker a partir do código Go

Estou tentando criar uma imagem do Docker usando as bibliotecas Docker API e Docker Go (https://github.com/docker/engine-api/) Exemplo de código:

package main
import (
    "fmt"
    "github.com/docker/engine-api/client"
    "github.com/docker/engine-api/types"
    "golang.org/x/net/context"
)
func main() {
    defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"}
    cli, err := client.NewClient("unix:///var/run/docker.sock", "v1.22", nil, defaultHeaders)
    if err != nil {
        panic(err)
    }
    fmt.Print(cli.ClientVersion())
    opt := types.ImageBuildOptions{
        CPUSetCPUs:   "2",
        CPUSetMems:   "12",
        CPUShares:    20,
        CPUQuota:     10,
        CPUPeriod:    30,
        Memory:       256,
        MemorySwap:   512,
        ShmSize:      10,
        CgroupParent: "cgroup_parent",
        Dockerfile:   "dockerSrc/docker-debug-container/Dockerfile",
    }
    _, err = cli.ImageBuild(context.Background(), nil, opt)
    if err == nil || err.Error() != "Error response from daemon: Server error" {
        fmt.Printf("expected a Server Error, got %v", err)
    }
}

O erro é sempre o mesmo:

Resposta de erro do daemon: Não é possível localizar o Dockerfile especificado: dockerSrc / docker-debug-container / Dockerfile

ou

Resposta de erro do daemon: Não é possível localizar o Dockerfile especificado: Dockerfile

Coisas que eu verifiquei:

A pasta existe no caminho da construçãoEu tentei o caminho relativo e absolutoNão há links flexíveis no caminhoEu tentei a mesma pasta para binários eDockerfiledocker build <path> trabalhoe um monte de outras coisas

Minha outra opção era usarRemoteContext que parece funcionar, mas apenas para arquivos de encaixe totalmente independentes, e não aqueles com "presença local de arquivo".

Atualizar: Tentei passartar como buffer, mas obteve o mesmo resultado com o seguinte:

  dockerBuildContext, err := os.Open("<path to>/docker-debug-    container/docker-debug-container.tar")
  defer dockerBuildContext.Close()

    opt := types.ImageBuildOptions{
        Context:      dockerBuildContext,
        CPUSetCPUs:   "2",
        CPUSetMems:   "12",
        CPUShares:    20,
        CPUQuota:     10,
        CPUPeriod:    30,
        Memory:       256,
        MemorySwap:   512,
        ShmSize:      10,
        CgroupParent: "cgroup_parent",
        //  Dockerfile:   "Dockerfile",
    }

    _, err = cli.ImageBuild(context.Background(), nil, opt)

questionAnswers(5)

yourAnswerToTheQuestion