GoLang postgres testcontainer 将 BindMounts 转换为 Mounts
GoLang postgres testcontainer convert BindMounts to Mounts
我刚刚将测试容器库从 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(不再支持link)被Mounts取代。
尝试在我的初始化脚本中替换相同的内容,但找不到它。
BindMounts: map[string]string{"/mountebank": path.Join(c.rootDir, "/test/stubs/mountebank")},
它是请求正文的一部分。尝试使用 testcontainers.ContainerMounts{}
等
我是不是漏掉了什么?
ContainerRequest
object contains a list of ContainerMount
个对象,其中记录
Source is typically either a GenericBindMountSource or a GenericVolumeMountSource
GenericBindMountSource
just names a host path. You could also use a DockerBindMountSource
如果您需要高级选项。
所以你应该能够用 Mounts:
替换 BindMounts:
参数
ContainerRequest: testcontainers.ContainerRequest{
Mounts: testcontainers.Mounts(testcontainers.ContainerMount{
Source: testcontainers.GenericBindMountSource{
HostPath: path.Join(c.rootDir, "/test/stubs/mountebank"),
},
Target: testcontainers.ContainerMountTarget("/mountebank"),
}),
...
},
我刚刚将测试容器库从 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(不再支持link)被Mounts取代。 尝试在我的初始化脚本中替换相同的内容,但找不到它。
BindMounts: map[string]string{"/mountebank": path.Join(c.rootDir, "/test/stubs/mountebank")},
它是请求正文的一部分。尝试使用 testcontainers.ContainerMounts{}
等
我是不是漏掉了什么?
ContainerRequest
object contains a list of ContainerMount
个对象,其中记录
Source is typically either a GenericBindMountSource or a GenericVolumeMountSource
GenericBindMountSource
just names a host path. You could also use a DockerBindMountSource
如果您需要高级选项。
所以你应该能够用 Mounts:
BindMounts:
参数
ContainerRequest: testcontainers.ContainerRequest{
Mounts: testcontainers.Mounts(testcontainers.ContainerMount{
Source: testcontainers.GenericBindMountSource{
HostPath: path.Join(c.rootDir, "/test/stubs/mountebank"),
},
Target: testcontainers.ContainerMountTarget("/mountebank"),
}),
...
},