Когда вы передаете команду контейнеру Docker, она должна выполняться из оболочки внутри контейнера Docker. В этом случае «Hello World» рассматривается как имя исполняемого файла, который вы пытаетесь запустить. Поскольку это недопустимое имя исполняемого файла, Docker возвращает следующую ошибку.
[root@testvm1 test]# docker run busybox "Hello World"
container_linux.go:247: starting container process caused "exec: \"Hello World\": executable file not found in $PATH"
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"Hello World\": executable file not found in $PATH".
Обратите внимание на строку :"exec: \"Hello World\": executable file not found in $PATH"
.
Используйте команду, допустимую внутри контейнера, например echo
, чтобы это работало:
[root@testvm1 test]# docker run busybox echo "Hello World"
Hello World
Обратите внимание, что вы увидите такое же поведение, если вы запустите контейнер в интерактивном режиме с помощью оболочки:
[root@testvm1 test]# docker run -it busybox /bin/sh
/ # "Hello World"
/bin/sh: Hello World: not found
/ # echo "Hello World"
Hello World