gpt4 book ai didi

docker - 为什么文件夹没有绑定(bind)?

转载 作者:行者123 更新时间:2023-12-01 22:06:39 25 4
gpt4 key购买 nike

我正在尝试使用 https://pkg.go.dev/github.com/fsouza/go-dockerclient?tab=doc 创建一个用于测试目的的容器如下:

client, err := docker.NewClientFromEnv()
NoError(t, err, err)

ctx := context.Background()

gogs, err := client.CreateContainer(docker.CreateContainerOptions{
Name: "gogs",
Config: &docker.Config{
Image: "gogs/gogs:0.11.91",
},
HostConfig: &docker.HostConfig{
PublishAllPorts: true,
AutoRemove: true,
Binds: []string{dest, "/data"},
PortBindings: map[docker.Port][]docker.PortBinding{
"3000/tcp": {{HostIP: "0.0.0.0", HostPort: "8888"}}},
},
Context: ctx,
})
NoError(t, err, err)

err = client.StartContainer(gogs.ID, nil)
NoError(t, err, err)

问题是,绑定(bind)不起作用。我想要实现的是:
docker run --rm -it -p 8888:3000 --name=gogs --mount type=bind,source=`pwd`/gogs/data,target=/data gogs/gogs 

我究竟做错了什么?

最佳答案

安装路径时,您可以附加 MountsHostConfig像这样:

&container.HostConfig{
Mounts: []mount.Mount{
{
Type: mount.TypeBind,
Source: "/source",
Target: "/target",
},
},
}

这将挂载 /source进入容器。

关于docker - 为什么文件夹没有绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61360063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com