我正在嘗試使用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
提交
取消
