我正在尝试使用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)问题是,绑定不起作用。我想要实现的是:docker run --rm -it -p 8888:3000 --name=gogs --mount type=bind,source=`pwd`/gogs/data,target=/data gogs/gogs 我究竟做错了什么?
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
安装路径时,您可以Mounts像HostConfig这样附加:
&container.HostConfig{
Mounts: []mount.Mount{
{
Type: mount.TypeBind,
Source: "/source",
Target: "/target",
},
},}这将安装/source到容器中。
- 1 回答
- 0 关注
- 107 浏览
添加回答
举报
0/150
提交
取消
