我如何在Docker中使用process.argv运行容器?

我的应用程序要求用户在节点index.js之后input3个参数,例如:
node index.js 1 1 1
当我使用Dockerfile时,我在那里写了:
ENTRYPOINT ["node", "index.js"]
在我执行terminal命令后:
docker run 1 1 1 。 它的工作,参数在process.argv
但现在我需要使用docker-compose.yml,我不知道我必须做什么。

由于运行容器的值是“静态的”,并且在容器运行时不会改变,所以可以简单地使用环境variables。

在你的docker-compose.yml中定义容器的环境variables(用作默认值),例如:

 <service_name>: environment: - value1: 1 - value2: 1 - value3: 1 

请参阅: https : //docs.docker.com/compose/environment-variables/

将入口点更改为使用环境variables,如:

 ENTRYPOINT ["node", "index.js", "$value1", "$value2", "$value3"] 

当你启动容器时,你可以简单的改变这些值:

 docker-compose run -e value1=2 

希望这是你在找什么。