为了账号安全,请及时绑定邮箱和手机立即绑定

Docker 容器网络主机模式适用于 CLI,但不适用于 Go SDK

Docker 容器网络主机模式适用于 CLI,但不适用于 Go SDK

Go
红糖糍粑 2023-06-05 19:29:32
运行 Docker 18.09.1、API 1.39,并尝试将容器的网络置于主机模式,以便蓝牙正常工作。当我从 CLI 启动容器时,一切正常:docker run --rm --name mycontainer --net=host imageName my-command当我尝试使用 Go API 启动这个容器时,网络似乎没有正确设置,导致我的容器死掉。config := &container.Config{    Cmd:      []string{"my-command"},    Hostname: "mycontainer",    Image:    imageName,}hostConfig := &container.HostConfig{    AutoRemove: true,    NetworkMode: "host",}container, err := cli.ContainerCreate(*ctx, config, hostConfig, nil, "mycontainer")很明显我遗漏了一些东西,但我看不到那是什么。因为我正在指定网络模式,所以我需要网络配置(nil的参数)吗?ContainerCreate
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

当我正要发布问题时,我发现了我的问题,所以我将分享它,因为这在任何文档中都没有明确说明。使用host网络模式时,您的容器配置不应包含主机名。


改变这个:


config := &container.Config{

    Cmd:      []string{"my-command"},

    Hostname: "mycontainer",

    Image:    imageName,

}

...对此:


config := &container.Config{

    Cmd:      []string{"my-command"},

    Image:    imageName,

}

一切都过去了。


查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信