default to all running containers if no arg provided

This commit is contained in:
Bradley Cicenas 2016-12-25 23:05:22 +00:00
parent e2231d8835
commit e5e84ee206
3 changed files with 27 additions and 8 deletions

View File

@ -41,7 +41,7 @@ func header() *ui.Row {
c1 := ui.NewPar(" CID")
c1.Border = false
c1.Height = 2
c1.Width = 10
c1.Width = 20
c1.TextFgColor = ui.ColorWhite
//cpu

31
main.go
View File

@ -1,17 +1,29 @@
package main
import (
"fmt"
"os"
"github.com/fsouza/go-dockerclient"
)
func main() {
if len(os.Args) < 2 {
fmt.Println("no container provided")
os.Exit(1)
func runningCIDs(client *docker.Client) (running []string) {
filters := make(map[string][]string)
filters["status"] = []string{"running"}
opts := docker.ListContainersOptions{
Filters: filters,
}
containers, err := client.ListContainers(opts)
if err != nil {
panic(err)
}
for _, c := range containers {
running = append(running, c.ID[:12])
}
return running
}
func main() {
var containers []string
dockerhost := os.Getenv("DOCKER_HOST")
if dockerhost == "" {
@ -23,8 +35,15 @@ func main() {
panic(err)
}
// Default to all running containers
if len(os.Args) < 2 {
containers = runningCIDs(client)
} else {
containers = os.Args[1:]
}
g := &Grid{make(map[string]*Container)}
for _, c := range os.Args[1:] {
for _, c := range containers {
g.AddContainer(c)
}

View File

@ -34,7 +34,7 @@ func NewWidgets(id string) *Widgets {
cid := ui.NewPar(id)
cid.Border = false
cid.Height = 1
cid.Width = 10
cid.Width = 20
cid.TextFgColor = ui.ColorWhite
return &Widgets{cid, mkGauge(), mkGauge()}
}