-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Closed
Labels
area/apiRelates to Docker API docsRelates to Docker API docsarea/engineIssue affects Docker engine/daemonIssue affects Docker engine/daemonkind/bugBugs. The Cause may not be known at triage time. Consider debugging time for estimatesBugs. The Cause may not be known at triage time. Consider debugging time for estimateslifecycle/locked
Description
Is this a docs issue?
- My issue is about the documentation content or website
Type of issue
Information is incorrect
Description
I seems that some of the functions changed their signature and it was not reflected in the docs:
cli.ContainerStartexpectscontainer.StartOptionscli.ContainerLogsexpectscontainer.LogsOptions
Contributing Guidlines state that Engine API Reference isn't edited in this repo, so I'm just opening an issue
My go.mod
require (
github.com/Microsoft/go-winio v0.4.14 // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/docker/docker v27.3.1+incompatible // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect
go.opentelemetry.io/otel v1.30.0 // indirect
go.opentelemetry.io/otel/metric v1.30.0 // indirect
go.opentelemetry.io/otel/trace v1.30.0 // indirect
golang.org/x/sys v0.1.0 // indirect
)
Location
https://docs.docker.com/reference/api/engine/sdk/
Suggestion
package main
import (
"context"
"io"
"os"
- "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/image"
"github.com/docker/docker/client"
"github.com/docker/docker/pkg/stdcopy"
)
func main() {
ctx := context.Background()
cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
if err != nil {
panic(err)
}
defer cli.Close()
reader, err := cli.ImagePull(ctx, "docker.io/library/alpine", image.PullOptions{})
if err != nil {
panic(err)
}
io.Copy(os.Stdout, reader)
resp, err := cli.ContainerCreate(ctx, &container.Config{
Image: "alpine",
Cmd: []string{"echo", "hello world"},
}, nil, nil, nil, "")
if err != nil {
panic(err)
}
+. if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil {
- if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
panic(err)
}
statusCh, errCh := cli.ContainerWait(ctx, resp.ID, container.WaitConditionNotRunning)
select {
case err := <-errCh:
if err != nil {
panic(err)
}
case <-statusCh:
}
+. out, err := cli.ContainerLogs(ctx, resp.ID, container.LogsOptions{ShowStdout: true})
- out, err := cli.ContainerLogs(ctx, resp.ID, types.ContainerLogsOptions{ShowStdout: true})
if err != nil {
panic(err)
}
stdcopy.StdCopy(os.Stdout, os.Stderr, out)
}Metadata
Metadata
Labels
area/apiRelates to Docker API docsRelates to Docker API docsarea/engineIssue affects Docker engine/daemonIssue affects Docker engine/daemonkind/bugBugs. The Cause may not be known at triage time. Consider debugging time for estimatesBugs. The Cause may not be known at triage time. Consider debugging time for estimateslifecycle/locked