Files
scroll/common/docker/interface.go
2022-12-19 14:49:01 +08:00

43 lines
768 B
Go

package docker
import (
"context"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/client"
)
var (
cli *client.Client
)
func init() {
var err error
cli, err = client.NewClientWithOpts(client.FromEnv)
if err != nil {
panic(err)
}
cli.NegotiateAPIVersion(context.Background())
}
// ImgInstance is an img instance.
type ImgInstance interface {
Start() error
Stop() error
Endpoint() string
}
// GetContainerID returns the ID of Container.
func GetContainerID(name string) string {
filter := filters.NewArgs()
filter.Add("name", name)
lst, _ := cli.ContainerList(context.Background(), types.ContainerListOptions{
Filters: filter,
})
if len(lst) > 0 {
return lst[0].ID
}
return ""
}