【问题标题】:Testcontainers execInContainer not working with CockroachDBTestcontainers execInContainer 不适用于 CockroachDB
【发布时间】:2021-06-04 02:07:35
【问题描述】:

我正在使用 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';"

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

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

谢谢

【问题讨论】:

    标签: testcontainers cockroachdb


    【解决方案1】:
     container.execInContainer( "sh", "-c", "./cockroach sql --insecure -e \"SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';\"" );
    

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 2023-02-04
      • 2018-09-17
      • 1970-01-01
      • 2022-11-29
      • 2022-09-30
      • 2017-09-05
      • 2021-06-14
      • 1970-01-01
      相关资源
      最近更新 更多