小编rmv*_*aps的帖子

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

我正在尝试使用 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: …
Run Code Online (Sandbox Code Playgroud)

go docker moby

3
推荐指数
1
解决办法
859
查看次数

标签 统计

docker ×1

go ×1

moby ×1