Display when a container is in --net=host in docker ps

Display */tcp, */udp when a container is in --net=host in docker ps

Signed-off-by: Sujith Haridasan <sujith.h@gmail.com>
This commit is contained in:
Sujith Haridasan 2015-06-22 11:44:33 +05:30
parent abb85f822d
commit 8a9ed09746
3 changed files with 14 additions and 3 deletions

View File

@ -129,8 +129,9 @@ func (cli *DockerCli) CmdPs(args ...string) error {
} }
var ( var (
names = stripNamePrefix(container.Names) names = stripNamePrefix(container.Names)
command = strconv.Quote(container.Command) command = strconv.Quote(container.Command)
displayPort string
) )
if !*noTrunc { if !*noTrunc {
@ -150,9 +151,15 @@ func (cli *DockerCli) CmdPs(args ...string) error {
image = "<no image>" image = "<no image>"
} }
if container.HostConfig.NetworkMode == "host" {
displayPort = "*/tcp, */udp"
} else {
displayPort = api.DisplayablePorts(container.Ports)
}
fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\t%s\t%s\t%s\t", ID, image, command, fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\t%s\t%s\t%s\t", ID, image, command,
units.HumanDuration(time.Now().UTC().Sub(time.Unix(int64(container.Created), 0))), units.HumanDuration(time.Now().UTC().Sub(time.Unix(int64(container.Created), 0))),
container.Status, api.DisplayablePorts(container.Ports), strings.Join(names, ",")) container.Status, displayPort, strings.Join(names, ","))
if *size { if *size {
if container.SizeRootFs > 0 { if container.SizeRootFs > 0 {

View File

@ -117,6 +117,9 @@ type Container struct {
SizeRootFs int `json:",omitempty"` SizeRootFs int `json:",omitempty"`
Labels map[string]string Labels map[string]string
Status string Status string
HostConfig struct {
NetworkMode string `json:",omitempty"`
}
} }
// POST "/containers/"+containerID+"/copy" // POST "/containers/"+containerID+"/copy"

View File

@ -151,6 +151,7 @@ func (daemon *Daemon) Containers(config *ContainersConfig) ([]*types.Container,
} }
newC.Created = int(container.Created.Unix()) newC.Created = int(container.Created.Unix())
newC.Status = container.State.String() newC.Status = container.State.String()
newC.HostConfig.NetworkMode = string(container.HostConfig().NetworkMode)
newC.Ports = []types.Port{} newC.Ports = []types.Port{}
for port, bindings := range container.NetworkSettings.Ports { for port, bindings := range container.NetworkSettings.Ports {