integcli: add getContainerCount utility function
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
This commit is contained in:
parent
667e2bd4ea
commit
77f5425260
|
@ -3,6 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
@ -71,3 +72,28 @@ func findContainerIp(t *testing.T, id string) string {
|
||||||
|
|
||||||
return strings.Trim(out, " \r\n'")
|
return strings.Trim(out, " \r\n'")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getContainerCount() (int, error) {
|
||||||
|
const containers = "Containers:"
|
||||||
|
|
||||||
|
cmd := exec.Command(dockerBinary, "info")
|
||||||
|
out, _, err := runCommandWithOutput(cmd)
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
lines := strings.Split(out, "\n")
|
||||||
|
for _, line := range lines {
|
||||||
|
if strings.Contains(line, containers) {
|
||||||
|
output := stripTrailingCharacters(line)
|
||||||
|
output = strings.TrimLeft(output, containers)
|
||||||
|
output = strings.Trim(output, " ")
|
||||||
|
containerCount, err := strconv.Atoi(output)
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
return containerCount, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0, fmt.Errorf("couldn't find the Container count in the output")
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue