docker CMD 中的命令替换
问题描述
使用:
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 $$
相关文章