gpt4 book ai didi

docker - Docker exec 命令中的管道返回错误

转载 作者:行者123 更新时间:2023-12-02 18:10:56 25 4
gpt4 key购买 nike

我尝试执行的命令

docker exec apache_mp 'find / -type f -name artisan 2>&1 | grep -v "Permission denied"'

返回

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"find / -type f -name artisan 2>&1 | grep -v Permission\": stat find / -type f -name artisan 2>&1 | grep -v Permission: no such file or directory": unknown

这很奇怪,就像从 portainer 运行相同的命令时一样它确实有效。这是为什么?

enter image description here

最佳答案

Docker 假定容器名称后的第一个参数应该是要执行的二进制文件。作为 'find/-type f -name artisan 2>&1 | grep -v "Permission denied"' 是在括号里,docker 认为整个就是二进制的名字。

您可以通过使用 bash 作为二进制文件来让它工作:

docker exec apache_mp /bin/bash -c ' find / -type f -name artisan 2>&1 | grep -v "Permission denied"'

关于docker - Docker exec 命令中的管道返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52737497/

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