github.com/greenboxal/deis@v1.12.1/deisctl/backend/fleet/dock.go (about)

     1  package fleet
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  )
     7  
     8  // Dock connects to the appropriate host and runs 'docker exec -it'.
     9  func (c *FleetClient) Dock(target string, cmd []string) error {
    10  
    11  	units, err := c.Units(target)
    12  	if err != nil {
    13  		return err
    14  	}
    15  	target = units[0][0 : len(units[0])-len(".service")]
    16  
    17  	cmdStr := "sh"
    18  	if len(cmd) > 0 {
    19  		cmdStr = strings.Join(cmd, " ")
    20  	}
    21  
    22  	execit := fmt.Sprintf("docker exec -it %s %s", target, cmdStr)
    23  
    24  	return c.SSHExec(target, execit)
    25  }