docker-compose不会使用start命令覆盖命令

我有一个docker-compose覆盖文件用于在容器上运行testing。 我想用一个不同的命令启动节点服务器 – nyc node server.js 。 我有一个docker-compose.coverage.yml文件覆盖了正常的撰写文件,如下所示:

 node: command: nyc node server.js 

但是,当我执行docker-compose -f docker-compose.yml -f docker-compose.coverage.yml start node时,似乎从来没有重写过这个命令。 当我使用docker-compose run它覆盖命令,但服务退出。 有谁知道为什么它不会覆盖命令使用开始?

docker-compose start将启动一个现有的停止的容器。 现有的容器已经有了命令,并且你不能改变它。

你想要做的是使用docker-compose up 。 这将查找对docker-compose.yml的更改,如果有任何更改,它将使用新选项重新创build容器,然后启动或重新启动它。

所以你想要这样的东西:

 docker-compose -f docker-compose.yml -f docker-compose.coverage.yml up -d node