docker-compose sadece bir konteyner yukarı / aşağı


36

Docker-compose.yml dosyasında sadece bir kapsayıcı yukarı / aşağı bir yol bulamadım. Tek bir kapsayıcı dışında kurs başlatabilir ve durdurabilirim, ancak yeniden başlatmalar (ortam değişkenleri, bağlama noktaları vb.) Arasında bir kapsayıcı yapılandırmasında değişiklik yapamıyorum.

Burada ne eksik? Bu durumda en iyi uygulama nedir?

Yanıtlar:


4

Son zamanlarda bu ihtiyacı vardı ve docker-compose-production.ymltweaks ile başa çıkmak için ayrı bir dosya alarak çözüldü . Sonra ile başlatmayı unutmayındocker-compose -f docker-compose-production.yml...


Zaman geldiğinde bu nasıl çalışır docker-compose down? Tüm .yml dosyalarına getirilen tüm kapları indirmez mi?
Jordan Morris

2
Yapabilirsinizdocker-compose -f docker-compose-production.yml down
icarito

Ve yukarı / aşağı almak istediğiniz konteyneri nerede belirtirsiniz? -foluşturma dosyası seçicidir, kapsayıcı değil.
astrowalker

35

Tek bir hizmet için docker-compose aşağı aynı etkiye sahip buldum:

docker-compose rm -f -s -v yourService

docker-compose rm

Kullanım: rm [seçenekler] [SERVİS ...]

Seçenekler:
-f, --force Kaldırma işlemini onaylamak istemeyin
-s, --stop Gerekirse, kaldırmadan önce kapları durdurun
-v Kaplara ekli anonim birimleri kaldırın

Tüm bayrakları tek bir -param halinde yoğunlaştırabilirsiniz :docker-compose rm -fsv yourService


Sanırım diski atıyor, btw
Jordan Morris

2
Bayrakları açıklar mısınız, ne yapsınlar?
Semo

15

Stackoverflow.com'da bu mükemmel iş parçacığına göz atmanızı öneririm . Tek bir kapsayıcı yeniden oluşturmak ve yeniden başlatmak için burada hızlı cevap:

docker-compose up -d --build worker

Örneğin, değişiklikleriniz sadece docker-compose.ymll değil, Dockerfile'ınızı da içeriyorsa, bu ideal çözüm olacaktır.


7

Kullanabilirsiniz

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

sadece Hizmetinizi ve gerektirdiği tüm bağımlılıkları başlatmak için.

Hizmetiniz mysql kapsayıcısına bağlıysa, yukarıdaki komut her iki kapsayıcıyı da başlatır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.