mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Implement docker kill with standalone client lib.
Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
parent
535c4c9a59
commit
c57e62d00e
3 changed files with 15 additions and 2 deletions
|
@ -19,7 +19,7 @@ func (cli *DockerCli) CmdKill(args ...string) error {
|
|||
|
||||
var errNames []string
|
||||
for _, name := range cmd.Args() {
|
||||
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/kill?signal=%s", name, *signal), nil, nil)); err != nil {
|
||||
if err := cli.client.ContainerKill(name, *signal); err != nil {
|
||||
fmt.Fprintf(cli.err, "%s\n", err)
|
||||
errNames = append(errNames, name)
|
||||
} else {
|
||||
|
|
12
api/client/lib/kill.go
Normal file
12
api/client/lib/kill.go
Normal file
|
@ -0,0 +1,12 @@
|
|||
package lib
|
||||
|
||||
import "net/url"
|
||||
|
||||
// ContainerKill terminates the container process but does not remove the container from the docker host.
|
||||
func (cli *Client) ContainerKill(containerID, signal string) error {
|
||||
var query url.Values
|
||||
query.Set("signal", signal)
|
||||
|
||||
_, err := cli.POST("/containers/"+containerID+"/kill", query, nil, nil)
|
||||
return err
|
||||
}
|
|
@ -34,7 +34,8 @@ func (cli *DockerCli) forwardAllSignals(cid string) chan os.Signal {
|
|||
fmt.Fprintf(cli.err, "Unsupported signal: %v. Discarding.\n", s)
|
||||
continue
|
||||
}
|
||||
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/kill?signal=%s", cid, sig), nil, nil)); err != nil {
|
||||
|
||||
if err := cli.client.ContainerKill(cid, sig); err != nil {
|
||||
logrus.Debugf("Error sending signal: %s", err)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue