Запуск `docker run` из bash-скрипта завершается неудачно.Команда не терпит неудачу в командной строке - PullRequest
0 голосов
/ 31 декабря 2018

Если я запускаю следующее из командной строки.

docker run -t repo:tag ls -l

, команда успешно выполняется.Однако, если я вызываю то же самое из скрипта bash, я получаю следующую ОШИБКУ:

docker: ответ об ошибке от демона: сбой во время выполнения OCI: container_linux.go: 348: вызван запуск процесса контейнера "exec: \ "ls -l \": исполняемый файл не найден в $ PATH ": неизвестно.

Что из-за сценария bash вызывает эту ошибку?

1 Ответ

0 голосов
/ 01 января 2019

"exec: \" ls -l \ ": исполняемый файл не найден в $ PATH"

По ошибке я могу сказать, что когда вы вызываете docker, вы как-то вызываете сls -l включая пробел в качестве одного аргумента.Что-то вроде

docker run -t repo:tag "ls -l" # wrong

или, возможно,

cmd="ls -l" 
docker run -t repo:tag "$cmd" # wrong

Оболочка для разбора команды docker должна видеть ls и -l как отдельные параметры, чтобы аргумент -l былотличается от ls исполняемого имени.

cmd="ls -l" 
docker run -t repo:tag $cmd #works
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...