Piping в Docker exec команда возвращает ошибку - PullRequest
0 голосов
/ 10 октября 2018

Команда, которую я пытаюсь выполнить

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

возвращает

Ошибка выполнения OCI во время выполнения: ошибка exec: container_linux.go: 348: запуск процесса контейнера вызвал "exec: \"find / -type f -name artisan 2> & 1 |grep -v Permission \ ": stat find / -type f -name artisan 2> & 1 | grep -v Permission: нет такого файла или каталога": unknown

Что странно, как при запускета же команда из portainer работает.Почему это?

enter image description here

1 Ответ

0 голосов
/ 10 октября 2018

Docker предполагает, что первым аргументом после имени контейнера должен быть исполняемый файл.Поскольку 'find / -type f -name artisan 2>&1 | grep -v "Permission denied"' в скобках, докер считает, что все это имя двоичного файла.

Вы можете заставить его работать, используя bash в качестве двоичного файла:

docker exec apache_mp /bin/bash -c ' find / -type f -name artisan 2>&1 | grep -v "Permission denied"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...