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.