码头构成单个集装箱

使用 Compose,如果我运行 docker-compose build,它将重新构建 所有容器:

> docker-compose build
Building elasticsearch
Step 1 : FROM elasticsearch:2.1
---> a05cc7ed3f32
Step 2 : RUN /usr/share/elasticsearch/bin/plugin install analysis-phonetic
---> Using cache
---> ec07bbdb8a18
Successfully built ec07bbdb8a18
Building search
Step 1 : FROM php:5.5.28-fpm
---> fcd24d1058c0
...

即使在使用缓存重建时,这也需要时间,所以我的问题是:

有没有办法去 只重建一个特定的容器?

105217 次浏览

是的,使用服务名称:

docker-compose build elasticsearch

如果你想 快跑再创造一个特定的服务在你的多克-组合文件,你可以这样做的方式一样@dphain 建议,喜欢

$ docker-compose up -d --force-recreate --no-deps --build service_name

假设您的 docker-compose. yml 文件类似于

version: '3'
services:
service_1:
.....
service_2:
.....
docker-compose up -d --no-deps --build <service_name>

来源

您可以将 --no-start标志添加到 docker-compose,然后再启动,因为您将只构建一个服务。