docker-komponuj góra / dół tylko jeden pojemnik

23

Nie udało mi się znaleźć sposobu na podniesienie / opuszczenie tylko jednego kontenera w pliku docker-compose.yml. Mogę oczywiście uruchomić i zatrzymać pojedynczy kontener, ale nie mogę wprowadzać zmian w konfiguracji kontenerów między restartami (zmienne środowiskowe, punkty montowania itp.)

Czego tu brakuje? Jaka jest najlepsza praktyka w tym przypadku?

Inkwizytor Shm
źródło

Odpowiedzi:

3

Niedawno miałem tę potrzebę i rozwiązałem ją, mając osobny docker-compose-production.ymlplik do obsługi poprawek. Następnie pamiętaj, aby uruchomićdocker-compose -f docker-compose-production.yml...

icarito
źródło
Jak to działa, gdy nadchodzi czas docker-compose down? Czy nie sprowadziłby wszystkich kontenerów, które zostały wychowane we wszystkich plikach .yml?
Jordan Morris,
2
Możesz zrobićdocker-compose -f docker-compose-production.yml down
icarito
12

Stwierdziłem, że ma to taki sam wpływ jak kompilacja dokera w przypadku pojedynczej usługi:

docker-compose rm -f -s -v yourService

docker-compose rm

Zastosowanie: rm [opcje] [SERVICE ...]

Opcje:
-f, --force Nie pytaj o potwierdzenie usunięcia
-s, --stop Zatrzymaj kontenery, jeśli to konieczne, przed usunięciem
-v Usuń wszelkie anonimowe woluminy dołączone do kontenerów

Możesz skondensować wszystkie flagi w jeden -parametr:docker-compose rm -fsv yourService

Jordan Morris
źródło
Myślę, że usuwa dysk, przy okazji
Jordan Morris
2
Czy mógłbyś wyjaśnić flagi, co by zrobiły?
Semo
11

Proponuję sprawdzić ten doskonały wątek na stackoverflow.com. Szybka odpowiedź tutaj, aby odbudować pojedynczy pojemnik i uruchomić go ponownie:

docker-compose up -d --build worker

Byłoby to idealne rozwiązanie, jeśli na przykład zmiany dotyczyły pliku Docker, a nie tylko docker-compose.ymll

gabriel1836
źródło
5

Możesz użyć

$ docker-compose -f docker-compose.yml up yourService

aby uruchomić tylko usługę i wszystkie wymagane przez nią zależności.

Jeśli więc twoja usługa zależy od kontenera mysql, powyższe polecenie uruchomi oba kontenery.

użytkownik674669
źródło