我的应用要求用户在节点index.js之后输入3个参数,例如:
node index.js 1 1 1
。
当我使用Dockerfile时,我在那里写道:
ENTRYPOINT ["node", "index.js"]
在我执行终端命令后:
docker run 1 1 1
。这是有效的,论证正在进行中.argv
但现在我需要使用docker-compose.yml,我不知道我必须做什么。
答案 0 :(得分:1)
因为价值是"静态"对于正在运行的容器,并且在容器的运行时期间不会更改,您只需使用环境变量。
在docker-compose.yml中定义容器的环境变量(用作默认值),如:
<service_name>:
environment:
- value1: 1
- value2: 1
- value3: 1
请参阅:https://docs.docker.com/compose/environment-variables/
更改入口点以使用环境变量,如:
ENTRYPOINT ["node", "index.js", "$value1", "$value2", "$value3"]
启动容器时,只需使用以下命令更改值:
docker-compose run -e value1=2
希望这就是你要找的东西。