docker CMD 中的命令替换
command substitution in 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\"\n"
有什么方法可以在 CMD 部分进行评估命令替换,例如 $(pipenv --venv)/bin/python3
?
改成下面
CMD ["bash", "-c", "$(pipenv --venv)/bin/python3 main.py /root/uploads"]
如果问题仍然存在,请将 $
更改为 $$
使用:
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\"\n"
有什么方法可以在 CMD 部分进行评估命令替换,例如 $(pipenv --venv)/bin/python3
?
改成下面
CMD ["bash", "-c", "$(pipenv --venv)/bin/python3 main.py /root/uploads"]
如果问题仍然存在,请将 $
更改为 $$