buruh pelabuhan-menyusun atas / bawah hanya satu wadah

23

Saya belum dapat menemukan cara untuk naik / turun hanya satu kontainer di file docker-compose.yml. Tentu saja saya dapat memulai dan menghentikan satu wadah, tetapi saya tidak dapat membuat perubahan pada konfigurasi wadah antara restart (variabel lingkungan, titik pemasangan dll.)

Apa yang kulewatkan di sini? Apa praktik terbaik dalam kasus ini?

Penyelidik Shm
sumber

Jawaban:

3

Saya memiliki kebutuhan ini baru-baru ini dan menyelesaikannya dengan memiliki docker-compose-production.ymlfile terpisah untuk menangani tweak. Maka ingatlah untuk memulaidocker-compose -f docker-compose-production.yml...

icarito
sumber
Bagaimana cara kerjanya ketika tiba saatnya untuk melakukannya docker-compose down? Bukankah itu akan menurunkan semua kontainer yang telah dibawa dalam semua file .yml?
Jordan Morris
2
Anda dapat melakukannyadocker-compose -f docker-compose-production.yml down
icarito
10

Saya sarankan Anda memeriksa utas yang sangat bagus ini di stackoverflow.com. Jawaban cepat di sini untuk membangun kembali wadah tunggal dan memulai kembali adalah:

docker-compose up -d --build worker

Ini akan menjadi solusi ideal jika, misalnya, perubahan Anda melibatkan Dockerfile Anda dan bukan hanya docker-compose.ymll

gabriel1836
sumber
9

Saya menemukan ini memiliki pengaruh yang sama dengan docker-compose down untuk satu layanan:

docker-compose rm -f -s -v yourService

docker-compose rm

Penggunaan: rm [opsi] [LAYANAN ...]

Opsi:
-f, - paksa Jangan meminta untuk mengkonfirmasi penghapusan
-s, --stop Hentikan wadah, jika perlu, sebelum menghapus
-v Hapus volume anonim yang melekat pada wadah

Anda dapat menyingkat semua bendera menjadi satu -param:docker-compose rm -fsv yourService

Jordan Morris
sumber
Saya pikir membuang disk, btw
Jordan Morris
2
Bisakah Anda jelaskan benderanya, apa yang akan mereka lakukan?
Semo
5

Kamu bisa memakai

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

untuk memulai hanya Layanan Anda dan semua dependensi yang diperlukan olehnya.

Jadi jika Layanan Anda tergantung pada wadah mysql, perintah di atas akan memulai kedua wadah tersebut.

pengguna674669
sumber