在 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',这样容器将一直运行,直到手动停止。

Golang Docker SDK: 如何让创建的容器一直运行

原文地址: https://www.cveoy.top/t/topic/fMHG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录