docker CMD 中的命令替换

时间:2023-05-12
本文介绍了docker CMD 中的命令替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

使用:

CMD ["$(pipenv --venv)/bin/python3", "main.py", "/root/uploads"]

导致 docker run 出错:

Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused "exec: \"$(pipenv --venv)/bin/python3\": stat $(pipenv --venv)/bin/python3: no such file or directory"
"

有什么方法可以在 CMD 部分进行评估命令替换,例如 $(pipenv --venv)/bin/python3?

Is there any way to make evaluate command substitutions like $(pipenv --venv)/bin/python3 in the CMD section?

推荐答案

改成下面

CMD ["bash", "-c", "$(pipenv --venv)/bin/python3 main.py /root/uploads"]

如果这仍然给您带来问题,请将 $ 更改为 $$

If that still gives you issue, change $ to $$

这篇关于docker CMD 中的命令替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:在 Dockerfile 中设置别名不起作用:找不到命令 下一篇:ModuleNotFoundError:没有名为“versioneer"的模块

相关文章