Docker入口点启动脚本执行错误

Kil*_*ail 4 python bash docker

我有一个运行的 docker 文件:

一个简单的启动脚本来创建 jinja2 文件,它在 ENTRYPOINT 中调用

ENTRYPOINT ["./docker-entrypoint.sh"]
CMD ["python test.py", "--config", "config.json"]
Run Code Online (Sandbox Code Playgroud)

脚本是:

#!/bin/bash
jinja2 config.json.j2 > config.json
exec "$@"
Run Code Online (Sandbox Code Playgroud)

但是当我使用此命令执行 docker run 时。

docker run test -env tagname="Foo" -env value=300
Run Code Online (Sandbox Code Playgroud)

我得到:

./docker-entrypoint.sh: line 3: exec: -e: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

cri*_*007 6

环境变量需要位于图像名称之前。

它之后的一切都在取代 CMD。另外,它是-e--env,所以你的破折号一开始就丢失了。

您也可以将 python 命令放入入口点文件中。