Explorar o código

Merge pull request #30776 from WeiZhang555/stats-all-format-name-panic-cli

Fix panic of "docker stats --format {{.Name}} --all"
Alexander Morozov %!s(int64=8) %!d(string=hai) anos
pai
achega
f5116c6802
Modificáronse 2 ficheiros con 12 adicións e 2 borrados
  1. 4 2
      cli/command/formatter/stats.go
  2. 8 0
      cli/command/formatter/stats_test.go

+ 4 - 2
cli/command/formatter/stats.go

@@ -149,8 +149,10 @@ func (c *containerStatsContext) Container() string {
 
 func (c *containerStatsContext) Name() string {
 	c.AddHeader(nameHeader)
-	name := c.s.Name[1:]
-	return name
+	if len(c.s.Name) > 1 {
+		return c.s.Name[1:]
+	}
+	return "--"
 }
 
 func (c *containerStatsContext) ID() string {

+ 8 - 0
cli/command/formatter/stats_test.go

@@ -70,6 +70,12 @@ func TestContainerStatsContextWrite(t *testing.T) {
 			`MEM USAGE / LIMIT
 20B / 20B
 -- / --
+`,
+		},
+		{
+			Context{Format: "{{.Container}}  {{.ID}}  {{.Name}}"},
+			`container1  abcdef  foo
+container2    --
 `,
 		},
 		{
@@ -84,6 +90,8 @@ container2  --
 		stats := []StatsEntry{
 			{
 				Container:        "container1",
+				ID:               "abcdef",
+				Name:             "/foo",
 				CPUPercentage:    20,
 				Memory:           20,
 				MemoryLimit:      20,