在 Golang 应用程序中使用 docker go pkg 创建 docker 容器时如何指定同步模式和网络类型?
how to specify sync-mode and network type while creating docker container using docker go pkg in Golang application?
我正在尝试使用 Docker 引擎 SDK 和 Docker API
从我的 golang 应用程序创建容器
这是我想在我的应用程序中实现的命令:
docker run --name rinkeby-node ethereum/client-go --rinkeby --syncmode full
这是我正在使用的代码
ctx := context.Background()
cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
if err != nil {
panic(err)
}
imageName := "ethereum/client-go"
out, err := cli.ImagePull(ctx, imageName, types.ImagePullOptions{})
if err != nil {
panic(err)
}
defer out.Close()
io.Copy(os.Stdout, out)
resp, err := cli.ContainerCreate(ctx, &container.Config{
Image: imageName,
}, nil, nil, nil, "containerName")
if err != nil {
panic(err)
}
if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
panic(err)
}
fmt.Println(resp.ID)
现在我想将同步模式指定为完整,将网络指定为 rinkeby
我正在尝试使用 Docker 引擎 SDK 和 Docker API
从我的 golang 应用程序创建容器这是我想在我的应用程序中实现的命令:
docker run --name rinkeby-node ethereum/client-go --rinkeby --syncmode full
这是我正在使用的代码
ctx := context.Background()
cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
if err != nil {
panic(err)
}
imageName := "ethereum/client-go"
out, err := cli.ImagePull(ctx, imageName, types.ImagePullOptions{})
if err != nil {
panic(err)
}
defer out.Close()
io.Copy(os.Stdout, out)
resp, err := cli.ContainerCreate(ctx, &container.Config{
Image: imageName,
}, nil, nil, nil, "containerName")
if err != nil {
panic(err)
}
if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
panic(err)
}
fmt.Println(resp.ID)
现在我想将同步模式指定为完整,将网络指定为 rinkeby