golang docker sdk中ContainerCreate方法创建容器时如何设置容器一直运行
在Golang Docker SDK中,可以通过设置types.ContainerCreateConfig结构体的HostConfig字段来设置容器的运行配置。其中,可以通过设置HostConfig.AutoRemove字段为false来设置容器一直运行,示例如下:
package main
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
func main() {
cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
panic(err)
}
config := &types.ContainerCreateConfig{
Config: &types.ContainerConfig{
Image: "nginx:latest",
},
HostConfig: &types.HostConfig{
AutoRemove: false,
},
}
resp, err := cli.ContainerCreate(context.Background(), config, nil, nil, "")
if err != nil {
panic(err)
}
err = cli.ContainerStart(context.Background(), resp.ID, types.ContainerStartOptions{})
if err != nil {
panic(err)
}
fmt.Println("Container started:", resp.ID)
}
在上述示例中,我们创建了一个nginx:latest镜像的容器,并设置了HostConfig.AutoRemove为false,这样容器将一直运行,直到手动停止。
原文地址: https://www.cveoy.top/t/topic/h47v 著作权归作者所有。请勿转载和采集!