gpt4 book ai didi

Testcontainers execInContainer 不适用于 CockroachDB

转载 作者:行者123 更新时间:2023-12-02 16:16:37 28 4
gpt4 key购买 nike

我正在使用 Testcontainers 通过 docker 启动一个 CockroachDB 实例。我需要通过将属性 sql.defaults.experimental_temporary_tables.enabled 设置为 true 来启用对临时表的支持。

当机器运行时,我可以这样做:

docker exec -it CockroachDBHibernate ./cockroach sql --insecure -e "SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';"

但是当我尝试使用 Testcontainer 运行相同的命令时:

container.execInContainer(
"./cockroach sql --insecure -e \"SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';\"" );

我有以下错误:

OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: exec: "./cockroach sql --insecure -e \"SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';\"": stat ./cockroach sql --insecure -e "SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';": no such file or directory: unknown

请注意,通过 Container.ExecResult#getStdout() 可以看到错误。退出代码为 126

我正在使用 Testcontainers 1.15.2 和 CockroachDB v20.2.5

谢谢

最佳答案

 container.execInContainer( "sh", "-c", "./cockroach sql --insecure -e \"SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';\"" );

关于Testcontainers execInContainer 不适用于 CockroachDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66491774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com