Golang Docker SDK: 设置容器网络模式为桥接模式
可以使用以下代码将容器的网络模式设置为桥接模式:
package main
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/client"
)
func main() {
ctx := context.Background()
cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
panic(err)
}
// 创建容器配置
config := &container.Config{
Image: "nginx",
}
// 创建网络配置
networkConfig := &network.NetworkingConfig{
EndpointsConfig: map[string]*network.EndpointSettings{
'bridge': &network.EndpointSettings{
NetworkID: 'bridge',
},
},
}
// 创建容器选项
opts := &container.CreateOptions{
Config: config,
NetworkingConfig: networkConfig,
}
// 创建容器
resp, err := cli.ContainerCreate(ctx, config, opts, nil, "")
if err != nil {
panic(err)
}
// 启动容器
if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
panic(err)
}
fmt.Println(resp.ID)
}
在上面的代码中,我们创建了一个容器配置和一个网络配置,并将网络配置设置为桥接模式。然后,我们使用这些配置创建容器,并启动容器。
原文地址: https://www.cveoy.top/t/topic/g3Hu 著作权归作者所有。请勿转载和采集!