go语言操作docker终止容器
代码部分
package main
import (
"context"
"fmt"
"os"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/client"
)
func main() {
// 设置远程Docker守护进程的地址
remoteDockerURL := "tcp://10.0.0.12:2376" // 将remote-docker-host替换为远程Docker守护进程的IP地址或域名
// 创建Docker客户端,并指定远程Docker守护进程地址
cli, err := client.NewClientWithOpts(
client.WithHost(remoteDockerURL),
// client.WithVersion("1.41"),
client.WithAPIVersionNegotiation(),
client.WithTLSClientConfig("cert/ca.pem", "cert/cert.pem", "cert/key.pem"),
)
if err != nil {
fmt.Println("创建docker客户端失败:", err)
os.Exit(1)
}
// 设置容器名称
containerID := "nginx"
// 设置终止容器的超时时间(可选,如果不需要超时可以忽略此步骤)
timeout := 10 // 设置终止容器的超时时间为10秒
// 使用cli.ContainerStop方法终止容器
err = cli.ContainerStop(context.Background(), containerID, container.StopOptions{
Timeout: &timeout,
})
if err != nil {
fmt.Println("终止容器出错:", err)
return
}
fmt.Println("容器已成功终止!")
}
本文来自博客园,作者:厚礼蝎,转载请注明原文链接:https://www.cnblogs.com/guangdelw/p/17568069.html