LoginSignup
1
0

More than 3 years have passed since last update.

golangからDockerを操作する

Posted at

参考

内容

  • 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
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0