Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker exec命令中的管道返回错误_Docker_Exec - Fatal编程技术网

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

Docker exec命令中的管道返回错误,docker,exec,Docker,Exec,我试图执行的命令 docker exec apache_mp 'find / -type f -name artisan 2>&1 | grep -v "Permission denied"' 返回 OCI运行时exec失败:exec失败:容器\u linux.go:348:启动 容器进程导致“exec:\”find/-type f-name artisan 2>&1| grep-v权限\“:stat find/-type f-name artisan 2>&1 | grep-v

我试图执行的命令

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

OCI运行时exec失败:exec失败:容器\u linux.go:348:启动 容器进程导致“exec:\”find/-type f-name artisan 2>&1| grep-v权限\“:stat find/-type f-name artisan 2>&1 | grep-v 权限:没有此类文件或目录:未知

这很奇怪,因为从它运行同一个命令确实有效。为什么会这样


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 exec-it-u root splunkuniversalforwarder bash-c'find-iname“*.conf”| xargs-d'\''\n'\''grep forward server'