mirror of
https://github.com/bcicen/ctop.git
synced 2025-12-06 15:16:41 +08:00
add client to containermap, add views package, help view
This commit is contained in:
39
main.go
39
main.go
@@ -2,43 +2,14 @@ package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/fsouza/go-dockerclient"
|
||||
)
|
||||
|
||||
func getContainers(client *docker.Client) []docker.APIContainers {
|
||||
filters := make(map[string][]string)
|
||||
filters["status"] = []string{"running"}
|
||||
opts := docker.ListContainersOptions{
|
||||
Filters: filters,
|
||||
}
|
||||
containers, err := client.ListContainers(opts)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return containers
|
||||
}
|
||||
|
||||
func main() {
|
||||
dockerhost := os.Getenv("DOCKER_HOST")
|
||||
if dockerhost == "" {
|
||||
dockerhost = "unix:///var/run/docker.sock"
|
||||
}
|
||||
|
||||
client, err := docker.NewClient(dockerhost)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
g := NewGrid()
|
||||
for _, c := range getContainers(client) {
|
||||
g.containers.Add(c)
|
||||
for {
|
||||
exit := Display(g)
|
||||
if exit {
|
||||
os.Exit(0)
|
||||
}
|
||||
}
|
||||
|
||||
for _, c := range g.containers.All() {
|
||||
c.Collect(client)
|
||||
}
|
||||
|
||||
Display(g)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user