Yang ingin saya lakukan adalah memisahkan tweak khusus lingkungan saya menjadi override.yml, tidak ada yang mewah di sana ... namun penggantian saya akan persis sama untuk setiap layanan yang digunakan & saya ingin menghindari keharusan untuk menulis penggantian yang sama untuk setiap layanan tunggal (dan terus menambahkan bagian baru ke penggantian saat layanan baru diperkenalkan).
Alih-alih, saya ingin membuat satu definisi yang mengatakan "berlaku untuk penggantian ini untuk setiap layanan". Apakah konsep seperti itu sudah ada yang mungkin saya lewatkan?
Contoh...
docker-compose.yml:
aservice:
image: whatever1
environment:
FOO: BAR
docker-compose.yml lain:
anotherservice:
image: whatever2
docker-compose.override.yml saya:
<magickeyword>:
environment:
FLIBBLE: flobble
dns:
- server1
- server2
Sekarang, setiap layanan yang digunakan akan memiliki DNS server1 & server2 dan variabel lingkungan FLIBBLE.
Saya menyadari bahwa saya dapat melakukan ini jika semua layanan memperluas layanan dasar yang sama dengan yang saya dapat menerapkan penggantian untuk itu, tetapi apakah ada cara untuk mengatur penggantian global/default tanpa ekstensi umum?
Saat ini saya memiliki peretasan yang melibatkan pemindaian override yang dihasilkan untuk layanan yang ditentukan dan menghasilkan file override dengan cepat, tetapi sepertinya kasus penggunaan yang saya tidak bisa menjadi orang pertama yang mengalami jadi bertanya-tanya apakah mungkin saya baru saja melewatkan solusi yang jelas untuk ini di compose.
Anda bisa saja memiliki file base.yml
di setiap folder proyek dengan layanan base
yang hanya berisi kunci environment
, kemudian minta setiap layanan memperluas layanan base
.
Ini bukan lagi solusi yang baik mengingat extends:
dihapus di 3.x https://github.com/moby/moby/issues/31101
@saml lihat https://github.com/docker/compose/pull/5140
Komentar yang paling membantu
@saml lihat https://github.com/docker/compose/pull/5140