参考

内容

docker psする

package main

import (
        "context"
        "fmt"

        "github.com/docker/docker/api/types"
        "github.com/docker/docker/client"
)

func main() {
        cli, err := client.NewEnvClient()
        if err != nil {
                panic(err)
        }

        containers, err := cli.ContainerList(context.Background(), types.ContainerListOptions{})
        if err != nil {
                panic(err)
        }

        for _, container := range containers {
                fmt.Printf("%s %s\n", container.ID[:10], container.Image)
        }
}

動作確認

docker run -d nginx:latest
yuta@DESKTOP-T85N4KS /t/go-docker> docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS     NAMES
dd9f82fa644e   nginx:latest   "/docker-entrypoint.…"   26 seconds ago   Up 26 seconds   80/tcp   compassionate_roentgen
yuta@DESKTOP-T85N4KS /t/go-docker> go run main.go
dd9f82fa64 nginx:latest
广告
将在 10 秒后关闭
bannerAds