本文整理汇总了Golang中github.com/fsouza/go-dockerclient.Client.KillContainer方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.KillContainer方法的具体用法?Golang Client.KillContainer怎么用?Golang Client.KillContainer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/fsouza/go-dockerclient.Client
的用法示例。
在下文中一共展示了Client.KillContainer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: cleanDuplicateContainer
func cleanDuplicateContainer(client *docker.Client, project Project) error {
containers, err := client.ListContainers(docker.ListContainersOptions{All: true})
if err != nil {
return err
}
for _, container := range containers {
names := container.Names
if len(names) > 0 && project.Name == strings.TrimLeft(names[0], "/") {
if strings.Contains(container.Status, "Up") {
fmt.Println("stopping", project.Name)
if err := client.KillContainer(docker.KillContainerOptions{ID: container.ID}); err != nil {
fmt.Println("could not stop container")
return err
}
}
if err := client.RemoveContainer(docker.RemoveContainerOptions{
ID: container.ID,
}); err != nil {
fmt.Println("could not remove container", err.Error())
return err
}
fmt.Println("removed duplicate container")
break
}
}
return nil
}
示例2: sendSignalToContainer
func sendSignalToContainer(client *docker.Client, config Config) {
if len(config.NotifyContainers) < 1 {
return
}
for container, signal := range config.NotifyContainers {
log.Printf("Sending container '%s' signal '%v'", container, signal)
killOpts := docker.KillContainerOptions{
ID: container,
Signal: signal,
}
if err := client.KillContainer(killOpts); err != nil {
log.Printf("Error sending signal to container: %s", err)
}
}
}
示例3: removeContainer
// removeContainer kills and removes a container
func removeContainer(client *docker.Client, containerID string) {
client.KillContainer(docker.KillContainerOptions{ID: containerID})
client.RemoveContainer(docker.RemoveContainerOptions{ID: containerID, RemoveVolumes: true, Force: true})
}