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

时间:2017-04-05 16:14:08

标签: node.js docker docker-compose

我有一个docker-compose覆盖文件,用于在容器上运行测试。我想用不同的命令启动我的节点服务器 - 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时,它会覆盖命令,但服务会退出。有谁知道为什么它不会使用start覆盖命令?

1 个答案:

答案 0 :(得分:2)

docker-compose start将启动现有已停止容器。现有容器已经具有烘焙命令,您无法对其进行更改。

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

所以你想要这样的东西:

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