首页 > 解决方案 > Docker ENTRYPOINT 不执行 command/tox

问题描述

谁能给我一个线索,为什么我不能在 ENTRYPOINT 中运行命令。我的 Docker 文件看起来像

.....
.....  
ENTRYPOINT ["bash -c tox -e docker-server"]

但是当我运行 Dcoker 时,我得到了这个错误

Docker: Error response from daemon: OCI runtime create failed: 
container_linux.go:348: starting container process caused "exec: \"bash -c 
tox -e docker-server\": executable file not found in $PATH": unknown.

然后我将命令更改为 ENTRYPOINT ["sh ls -l"],这一次我也有任何错误

Docker: Error response from daemon: OCI runtime create failed: 
container_linux.go:348: starting container process caused "exec: \"sh ls - 
l\": executable file not found in $PATH": unknown.

标签: dockertox

解决方案


您需要在ENTRYPOINT数组中的单独元素中指定命令行中的每个单词,例如:

ENTRYPOINT ["bash", "-c", "tox", "-e", "docker-server"]

否则,docker 将尝试找到一个名为“bash -c tox -e docker-server”的可执行文件,当然它不存在。


推荐阅读