code: func (cluster *KafkaCluster) Containers() ([]*Container, error) {
  
  	psCmd, stdout, stderr := cluster.cmd("docker-compose", "ps", "-q")
  	err := psCmd.Run()
  	if err != nil {
  		return nil, fmt.Errorf("Cannot list processes: %s, %s", err, stderr.String())
  	}
  	containerIDs := stdout.String()
  
  	var containers []*Container
  
  	endpoint := "unix:///var/run/docker.sock"
  	client, err := docker.NewClient(endpoint)
  	if err != nil {
  		return nil, fmt.Errorf("Cannot open connection to docker %s", err)
  	}
  	for _, containerID := range strings.Split(strings.TrimSpace(containerIDs), "\n") {
  		if containerID == "" {
  			continue
  		}
  		container, err := client.InspectContainer(containerID)
  		if err != nil {
  			return nil, fmt.Errorf("Cannot inspect docker container %s", err)
  		}
  		containers = append(containers, &Container{cluster: cluster, Container: container})
  	}
  
  	return containers, nil
  }
docs: // Containers inspect all containers running within cluster and return
  // information about them.