docker-compose-重新启动单个服务的问题

时间:2019-02-12 18:45:56

标签: docker-compose

我正在使用docker-compose进行开发项目。我在docker compose文件中定义了6个服务。每当进行更改时,我一直在使用以下脚本来重建图像。

#!/bin/bash
# file: rebuild.sh
docker-compose down
docker-compose build
docker-compose up

我正在寻找一种减少构建时间的方法,因为构建和重新启动所有服务似乎是不必要的,因为我通常只更改一个模块。我在docker-compose文档中看到,您可以通过在例如docker-compose build myservice

在另一个终端窗口中,我尝试了docker-compose build myservice && docker-compose restart myservice,而在原始终端中未打开其他./rebuild.sh命令。在./rebuild.sh终端窗口中,我看到所有初始化消息都被重新打印到stdout,因此我知道它正在重新启动该服务,但是代码更改不存在。我究竟做错了什么?我只想重建并重新启动一项服务。

1 个答案:

答案 0 :(得分:1)

尝试:

docker-compose up -d --force-recreate --build myservice

请注意: -d用于分离模式, -force-recreate将重新创建容器,即使您的代码未更改, -build用于在启动容器之前构建映像。 至少是您的服务名称。

看看here