github.com/chasestarr/deis@v1.13.5-0.20170519182049-1d9e59fbdbfc/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 }