Py学习  »  docker

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

Thomas • 5 年前 • 1619 次点击  

我尝试执行的命令

docker exec apache_mp'find/-type f-name artisan 2>&1 grep-v“permission denied”'
< /代码> 

返回< /P> < Buff行情>

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

< /块引用>

这很奇怪,当从portainer运行相同的命令时。为什么会这样?

.

收益率

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

这很奇怪,就像运行来自portainer它确实有效。为什么会这样?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30440
 
1619 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Ignacio Millán
Reply   •   1 楼
Ignacio Millán    5 年前

Docker假定容器名称后面的第一个参数应该是要执行的二进制文件。AS '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"'