mirror of https://github.com/docker/cli.git
Merge pull request #27564 from mlaventure/add-networks-format-to-ps
Add Networks placeholder to ps --format
This commit is contained in:
commit
85a65c7536
|
@ -70,6 +70,13 @@ func (p *preProcessor) Size() bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Networks does nothing but return true.
|
||||||
|
// It is needed to avoid the template check to fail as this field
|
||||||
|
// doesn't exist in `types.Container`
|
||||||
|
func (p *preProcessor) Networks() bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func buildContainerListOptions(opts *psOptions) (*types.ContainerListOptions, error) {
|
func buildContainerListOptions(opts *psOptions) (*types.ContainerListOptions, error) {
|
||||||
options := &types.ContainerListOptions{
|
options := &types.ContainerListOptions{
|
||||||
All: opts.all,
|
All: opts.all,
|
||||||
|
|
|
@ -24,6 +24,7 @@ const (
|
||||||
portsHeader = "PORTS"
|
portsHeader = "PORTS"
|
||||||
mountsHeader = "MOUNTS"
|
mountsHeader = "MOUNTS"
|
||||||
localVolumes = "LOCAL VOLUMES"
|
localVolumes = "LOCAL VOLUMES"
|
||||||
|
networksHeader = "NETWORKS"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewContainerFormat returns a Format for rendering using a Context
|
// NewContainerFormat returns a Format for rendering using a Context
|
||||||
|
@ -217,3 +218,18 @@ func (c *containerContext) LocalVolumes() string {
|
||||||
|
|
||||||
return fmt.Sprintf("%d", count)
|
return fmt.Sprintf("%d", count)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *containerContext) Networks() string {
|
||||||
|
c.AddHeader(networksHeader)
|
||||||
|
|
||||||
|
if c.c.NetworkSettings == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
networks := []string{}
|
||||||
|
for k := range c.c.NetworkSettings.Networks {
|
||||||
|
networks = append(networks, k)
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.Join(networks, ",")
|
||||||
|
}
|
||||||
|
|
|
@ -333,8 +333,8 @@ func TestContainerContextWriteJSON(t *testing.T) {
|
||||||
}
|
}
|
||||||
expectedCreated := time.Unix(unix, 0).String()
|
expectedCreated := time.Unix(unix, 0).String()
|
||||||
expectedJSONs := []map[string]interface{}{
|
expectedJSONs := []map[string]interface{}{
|
||||||
{"Command": "\"\"", "CreatedAt": expectedCreated, "ID": "containerID1", "Image": "ubuntu", "Labels": "", "LocalVolumes": "0", "Mounts": "", "Names": "foobar_baz", "Ports": "", "RunningFor": "About a minute", "Size": "0 B", "Status": ""},
|
{"Command": "\"\"", "CreatedAt": expectedCreated, "ID": "containerID1", "Image": "ubuntu", "Labels": "", "LocalVolumes": "0", "Mounts": "", "Names": "foobar_baz", "Networks": "", "Ports": "", "RunningFor": "About a minute", "Size": "0 B", "Status": ""},
|
||||||
{"Command": "\"\"", "CreatedAt": expectedCreated, "ID": "containerID2", "Image": "ubuntu", "Labels": "", "LocalVolumes": "0", "Mounts": "", "Names": "foobar_bar", "Ports": "", "RunningFor": "About a minute", "Size": "0 B", "Status": ""},
|
{"Command": "\"\"", "CreatedAt": expectedCreated, "ID": "containerID2", "Image": "ubuntu", "Labels": "", "LocalVolumes": "0", "Mounts": "", "Names": "foobar_bar", "Networks": "", "Ports": "", "RunningFor": "About a minute", "Size": "0 B", "Status": ""},
|
||||||
}
|
}
|
||||||
out := bytes.NewBufferString("")
|
out := bytes.NewBufferString("")
|
||||||
err := ContainerWrite(Context{Format: "{{json .}}", Output: out}, containers)
|
err := ContainerWrite(Context{Format: "{{json .}}", Output: out}, containers)
|
||||||
|
|
Loading…
Reference in New Issue