golang docker sdk中ContainerCreate方法创建共享目录如何实现
在Golang Docker SDK中,可以使用ContainerCreate方法创建一个容器,并通过HostConfig的Binds字段来指定共享目录。
以下是一个示例代码:
package main
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
func main() {
ctx := context.Background()
cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
panic(err)
}
containerConfig := &types.ContainerCreateConfig{
Config: &types.ContainerConfig{
Image: "nginx",
},
HostConfig: &types.HostConfig{
Binds: []string{
"/host/directory:/container/directory",
},
},
}
resp, err := cli.ContainerCreate(ctx, containerConfig, nil, nil, "")
if err != nil {
panic(err)
}
fmt.Println(resp.ID)
}
在上面的示例中,我们创建了一个名为nginx的容器,并将/host/directory目录绑定到容器中的/container/directory目录。这样,在容器中对/container/directory的操作将会反映到宿主机的/host/directory目录上。
请注意,/host/directory必须是宿主机上的一个有效目录,而/container/directory则是容器内的一个目录。
原文地址: https://www.cveoy.top/t/topic/h40h 著作权归作者所有。请勿转载和采集!