gpt4 book ai didi

docker - 如何在 docker go 客户端中创建具有内存限制的容器

转载 作者:IT王子 更新时间:2023-10-29 01:56:43 25 4
gpt4 key购买 nike

我正在尝试使用 docker go 客户端创建具有内存限制的容器 - https://godoc.org/github.com/docker/docker/client#Client.ContainerCreate但是我不知道在函数中的什么地方添加这些参数。

docker run -m 250m --name test repo/tag

在 docker api 中,它位于 Host Config 结构下,但在 go doc 中我看到了 HostConfig 中使用的资源下的选项 - https://godoc.org/github.com/docker/docker/api/types/container#HostConfig

这样调用

import(
....
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/events"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/client"
"github.com/docker/go-connections/nat"
)

...

resp, err1 := cli.ContainerCreate(ctx,
&container.Config{
User: strconv.Itoa(os.Getuid()), // avoid permission issues
Image: cfg.ImageName,
AttachStdin: false,
AttachStdout: true,
AttachStderr: true,
Tty: true,
ExposedPorts: exposedPorts,
Labels: labels,
Env: envVars,
},
&container.HostConfig{
Binds: binds,
NetworkMode: container.NetworkMode(cfg.Network),
PortBindings: nat.PortMap{
"1880": []nat.PortBinding{
nat.PortBinding{
HostIP: "",
HostPort: "1880",
},
}},
AutoRemove: true,
Memory : 262144000, //this does not work
},
nil, // &network.NetworkingConfig{},
name,
)

container.HostConfig 类型结构文字中的未知字段“内存”。由于它没有字段名称,只有类型,所以我不知道如何将资源添加到 Hostconfig。任何帮助表示赞赏 - 我是一个新手,正在尝试调整我正在使用的开源项目 - redzilla - 由于我系统的资源限制

最佳答案

您可以使用 Resources 定义内存限制HostConfig 结构的字段。

Resources: container.Resources{ Memory:3e+7 }

关于docker - 如何在 docker go 客户端中创建具有内存限制的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52871120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com