докер-складіть лише один контейнер


34

Мені не вдалося знайти спосіб підняти / вниз лише один контейнер у файлі docker-compose.yml. Я можу поза курсом запускати та зупиняти один контейнер, але я не можу змінювати конфігурацію контейнерів між перезавантаженнями (змінні середовища, точки монтажу тощо)

Що я тут пропускаю? Яка найкраща практика в цьому випадку?

Відповіді:


4

У мене ця потреба була нещодавно, і я вирішив її, маючи окремий docker-compose-production.ymlфайл для вирішення налаштувань. Тоді не забудьте запустити сdocker-compose -f docker-compose-production.yml...


Як це працює, коли настає час робити docker-compose down? Хіба це не знищить усі контейнери, які були викладені у всіх файлах .yml?
Джордан Морріс

2
Можна зробитиdocker-compose -f docker-compose-production.yml down
icarito

А де ви вказуєте контейнер, який хочете встати / вниз? -f- це селектор композиційного файлу, а не контейнер.
astrowalker

31

Я виявив, що це впливає як докер-композиція для однієї послуги:

docker-compose rm -f -s -v yourService

docker-compose rm

Використання: rm [параметри] [SERVICE ...]

Параметри:
-f, --force Не вимагайте підтвердження видалення
-s, - стоп, якщо потрібно, зупиняйте контейнери, перш ніж видаляти
-v Видаліть анонімні томи, додані до контейнерів

Ви можете конденсувати всі прапори в одному -параметрі:docker-compose rm -fsv yourService


Я думаю, що розпоряджається диском, btw
Джордан Морріс

2
Чи можете ви поясніть, будь ласка, прапори, що вони роблять?
Semo

15

Я б запропонував вам перевірити цю чудову тему на сайті stackoverflow.com. Швидка відповідь тут, щоб відновити один контейнер і перезапустити його:

docker-compose up -d --build worker

Це було б ідеальним рішенням, якщо, наприклад, ваші зміни стосувалися вашого Dockerfile, а не лише docker-compose.ymll


7

Можна використовувати

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

запустити просто свою послугу та всі необхідні їй залежності.

Отже, якщо вашаService залежить від mysql контейнера, вищевказана команда запустить обидва контейнери.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.