我想通过 testcontainer execInContainer
方法在 docker 上运行管道命令。我可以运行单个命令(例如 execInContainer("redis-cli", "keys", "*")
,但是在提供管道时(例如 execInContainer("redis- cli", "keys", "*", "|", "grep", "-v", "test")
) 它会读取它,因为它属于上一个命令(ERR 错误编号'keys'命令的参数
)。我想要实现的是从redis中删除除一个之外的所有键。完整的脚本如下 redis-cli keys * | grep -v test | xargs redis-cli DEL
。知道我该怎么做吗?
最佳答案
我筹集了this issue与 testcontainer 团队合作。
看起来你可以这样做:
execInContainer("sh", "-c", "foo | bar")
你能试试这个吗?它应该可以工作。
关于java - 如何在 testcontainers execInContainer 方法中通过管道传输命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69569247/