在Golang Docker SDK中,可以使用ContainerCreate方法创建一个容器,并通过HostConfigBinds字段来指定共享目录。

以下是一个示例代码:

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则是容器内的一个目录。

golang docker sdk中ContainerCreate方法创建共享目录如何实现

原文地址: https://www.cveoy.top/t/topic/h40h 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录