Browse Source

Merge pull request #12812 from sharidas/8373-display-docker-ps-host

Display when a container is in --net=host in docker ps
David Calavera 10 năm trước cách đây
mục cha
commit
74be85500a
3 tập tin đã thay đổi với 14 bổ sung3 xóa
  1. 10 3
      api/client/ps.go
  2. 3 0
      api/types/types.go
  3. 1 0
      daemon/list.go

+ 10 - 3
api/client/ps.go

@@ -129,8 +129,9 @@ func (cli *DockerCli) CmdPs(args ...string) error {
 		}
 
 		var (
-			names   = stripNamePrefix(container.Names)
-			command = strconv.Quote(container.Command)
+			names       = stripNamePrefix(container.Names)
+			command     = strconv.Quote(container.Command)
+			displayPort string
 		)
 
 		if !*noTrunc {
@@ -150,9 +151,15 @@ func (cli *DockerCli) CmdPs(args ...string) error {
 			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,
 			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 container.SizeRootFs > 0 {

+ 3 - 0
api/types/types.go

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

+ 1 - 0
daemon/list.go

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