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



我有一个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 覆盖命令?

docker-compose start将启动一个现有的已停止的容器。现有容器中已内置该命令,您无法更改它。

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

所以你想要这样的东西:

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

最新更新