gpt4 book ai didi

docker - 带有OpenSSL和stdin,stdout的Docker Exec

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

我正在尝试将docker exec与OpenSSL和类似的管道一起使用。我有一个运行test1的容器。

1. openssl genrsa -des3 -passout pass:123 2048 | docker exec -i test1 sh -c 'cat >/key.pem
2. docker exec test1 cat key.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,DE60A9F33B9E508D

/uJYBfM6YwCkIgrgQSH......
3. docker exec test1 cat key.pem | openssl req -subj '/CN=client' -new -key -out client.csr -passin pass:123

write /dev/stdout: broken pipe

如果我在不使用docker的情况下运行这些命令,它们将正常运行。 docker对stdin和stdout流有什么不同吗?

最佳答案

您应该可以通过执行以下两项操作来解决此问题:

  • 按上述建议缓冲输出行,这意味着docker命令变为docker exec -t test1 cat key.pem
  • 您现在正在运行事情的方式,还不清楚docker exec参数在哪里结束以及通过|的重定向在哪里开始。只需将整体命令更改为使bash清晰可见的命令,即可使用
  • docker exec -t test1 cat key.pem | openssl req -subj '/CN=client' -new -key /dev/stdin -passin pass:123

    关于docker - 带有OpenSSL和stdin,stdout的Docker Exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733938/

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