Skip to content
This repository has been archived by the owner on Jul 30, 2024. It is now read-only.

Latest commit

 

History

History
47 lines (34 loc) · 1.39 KB

buildx_dial-stdio.md

File metadata and controls

47 lines (34 loc) · 1.39 KB

docker buildx dial-stdio

Proxy current stdio streams to builder instance

Options

Name Type Default Description
--builder string Override the configured builder instance
--platform string Target platform: this is used for node selection
--progress string quiet Set type of progress output (auto, plain, tty).

Description

dial-stdio uses the stdin and stdout streams of the command to proxy to the configured builder instance. It is not intended to be used by humans, but rather by other tools that want to interact with the builder instance via BuildKit API.

Examples

Example go program that uses the dial-stdio command wire up a buildkit client. This is for example use only and may not be suitable for production use.

client.New(ctx, "", client.WithContextDialer(func(context.Context, string) (net.Conn, error) {
    c1, c2 := net.Pipe()
    cmd := exec.Command("docker", "buildx", "dial-stdio")
    cmd.Stdin = c1
    cmd.Stdout = c1

    if err := cmd.Start(); err != nil {
        c1.Close()
        c2.Close()
        return nil, err
    }

    go func() {
        cmd.Wait()
        c2.Close()
    }()

    return c2
}))