Docker komponieren Build Single Container


97

Wenn ich Compose verwende, docker-compose buildwerden alle Container neu erstellt:

> 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
...

Selbst bei der Neuerstellung mithilfe des Cache dauert dies einige Zeit. Meine Frage lautet also:

Gibt es eine Möglichkeit , nur einen bestimmten Container neu zu erstellen?

Antworten:


199

Ja, verwenden Sie den Namen des Dienstes:

docker-compose build elasticsearch


3

Wenn Sie einen bestimmten Dienst in Ihrer Docker-Compose-Datei ausführen und neu erstellen möchten, können Sie dies auf die gleiche Weise tun, wie von @dnephin vorgeschlagen

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

Angenommen, Ihre Datei docker-compose.yml ist wie folgt

version: '3'
services:
  service_1:
      .....
  service_2:
      .....

Dies würde nicht funktionieren, wenn es von etwas abhängt, würde es alles ausführen, von dem es abhängt.
jemiloii

In der Tat ging es bei der Frage darum, das neu zu erstellen.
Ich

-1

Sie müssen dies manuell mithilfe des Bild-Tags tun. Weitere Details hier .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.