GoLang postgres testcontainer 将 BindMounts

我刚刚将测试容器库从升级github.com/testcontainers/testcontainers-go v0.12.0到github.com/testcontainers/testcontainers-go v0.13.0 以前这是我创建请求的方式


    ContainerRequest: testcontainers.ContainerRequest{

            Image:          mountebankImage,

            Name:           uuid.New().String(),

            ExposedPorts:   []string{mountebankExposedPort},

            BindMounts:     map[string]string{"/mountebank": path.Join(c.rootDir, "/test/stubs/mountebank")},

            Entrypoint:     []string{"mb", "start", "--configfile", "/mountebank/imposters.ejs"},

            Networks:       []string{c.network.Name},

   

在最新版本的测试容器库中,BindMounts(不再支持链接)被 Mounts 取代。尝试在我的初始化脚本中替换相同的内容,但找不到它。


BindMounts:     map[string]string{"/mountebank": path.Join(c.rootDir, "/test/stubs/mountebank")},

它是请求正文的一部分。试过 testcontainers.ContainerMounts{}等


我错过了什么吗?


红糖糍粑
浏览 103回答 1
1回答

慕慕森

该ContainerRequest对象包含一个对象列表ContainerMount,其中记录了Source 通常是 GenericBindMountSource 或 GenericVolumeMountSourceGenericBindMountSource只是命名一个主机路径。DockerBindMountSource如果您需要高级选项,也可以使用 a 。所以你应该能够BindMounts:用Mounts:ContainerRequest: testcontainers.ContainerRequest{        Mounts: testcontainers.Mounts(testcontainers.ContainerMount{                Source: testcontainers.GenericBindMountSource{                        HostPath: path.Join(c.rootDir, "/test/stubs/mountebank"),                },                Target: testcontainers.ContainerMountTarget("/mountebank"),        }),        ...},
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go