我正在嘗試使用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 關注
- 94 瀏覽
添加回答
舉報
0/150
提交
取消