refactor(docker): update ListContainers function to accept context and improve timeout handling

This commit is contained in:
yusing
2025-09-13 23:55:47 +08:00
parent 2c290a3916
commit 1e9303b1ef
3 changed files with 13 additions and 12 deletions

View File

@@ -2,8 +2,6 @@ package docker
import (
"context"
"errors"
"time"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/client"
@@ -21,16 +19,13 @@ var listOptions = container.ListOptions{
All: true,
}
func ListContainers(clientHost string) ([]container.Summary, error) {
func ListContainers(ctx context.Context, clientHost string) ([]container.Summary, error) {
dockerClient, err := NewClient(clientHost)
if err != nil {
return nil, err
}
defer dockerClient.Close()
ctx, cancel := context.WithTimeoutCause(context.Background(), 3*time.Second, errors.New("list containers timeout"))
defer cancel()
containers, err := dockerClient.ContainerList(ctx, listOptions)
if err != nil {
return nil, err