Fons
Docker Volume ļauj dinamiski uzstādīt dažus failus (piemēram, konfigurācijas failus), lai pārrakstītu oriģinālos failus attēlā, startējot Docker konteineru, bet kas notiek, ja konteinerā uzstādām mapi vai failu, kas vēl nepastāv? LZ savā darbā saskārās ar šādu problēmu, tāpēc viņš pats to praktizēja un reģistrēja eksperimenta rezultātus šādi:
Mapes stiprinājums
Docker uzvedība mapju montāžā ir vienāda, šādi:
- Ja mape nepastāv, mape tiek izveidota vispirms (vai rekursīvi, ja tā ir daudzlīmeņu mape)
- Pārrakstiet mapes saturu konteinerā ar mapes saturu resursdatorā
Sīkāka informācija ir šāda:
Resursdatora mape pastāv un nav tukša
Uzņēmējas | Konteineru | Montāžas rezultāts | | Pastāv netukša mape A | Mape B, kas neeksistē | Vispirms izveidojiet mapi B contanier un pēc tam kopējiet visus mapē A esošos failus B | | Pastāv netukša mape A | Pastāv netukša mape B | Vispirms iztukšojiet konteinera ķīniešu mapes B oriģinālo saturu un pēc tam kopējiet ķīniešu valodas kopiju uz B |
Neatkarīgi no tā, vai konteinerā ir mape B, A pilnībā pārrakstīs B saturu
Resursdatora mape pastāv, bet ir tukša
Uzņēmējas | Konteineru | Montāžas rezultāts | | Tukša mape A | Pastāv netukša mape B | Konteinera ķīniešu mapes B saturs tiek iztukšots |
Konteinerā esošās atbilstošās mapes saturs tiek iztukšots
Resursdatora mape neeksistē
Uzņēmējas | Konteineru | Montāžas rezultāts | | Mape A, kas neeksistē | Pastāv netukša mape B | Izveidojiet mapi A resursdatorā, un konteinera ķīniešu mapes B saturs tiek iztukšots | | Mapes A/B/C, kas neeksistē | Pastāv netukša mape B | Izveidojiet mapes A/B/C resursdatorā, un konteinera ķīniešu mapes B saturs tiek iztukšots |
Konteinerā esošās atbilstošās mapes saturs tiek iztukšots
Kopsavilkuma
Resursdatora mape noteikti pārrakstīs konteinera ķīniešu mapi:
Uzņēmējas | Konteineru | Montāžas rezultāts | | Mape neeksistē/mape pastāv, bet ir tukša | Mape nepastāv/pastāv, bet ir tukša/pastāv un nav tukša | konteiners ķīniešu gabals ir pārklāts (iztukšots) | | Mape pastāv, bet nav tukša | Mape nepastāv/pastāv, bet ir tukša/pastāv un nav tukša | konteinera ķīniešu mapes saturs tiek pārrakstīts (oriģinālais saturs tiek iztukšots, un resursdatora mapes saturs tiek pārrakstīts) |
Faila stiprinājums
Lielākā atšķirība starp failu montāžu un mapju montāžu ir:
- Docker aizliedz uzstādīt failus, kas nepastāv resursdatorā, uz failiem, kas jau pastāv konteinerā
- Failu montāža neietekmē citus failus tajā pašā mapē
Turklāt tā pārrakstīšanas darbība atbilst mapes montāžai, t.i.:
- Pārrakstiet konteinerā esošā faila saturu ar resursdatora faila saturu
Sīkāka informācija ir šāda:
Uzņēmējas
Uzņēmējas | Konteineru | Montāžas rezultāts | | Faili, kas neeksistē configA.js | Jau esošie dokumenti congfigB.js | Kļūda, Vai jūs mēģināt uzstādīt direktoriju uz failu (vai otrādi)? Pārbaudiet, vai norādītais resursdatora ceļš pastāv un ir paredzētais tips. Tas ģenerē divus tukšus direktorijus configA.js un configB.js resursdatorā vienlaikus, bet konteiners nevar sākties |
Uzņēmējas
Uzņēmējas | Konteineru | Montāžas rezultāts | | Prezentēt failu configA.js | Prezentēt failu congfigB.js | konteiners ķīniešu vienums configB.js palikt nemainīgs, bet faila saturs tiek pārrakstīts ar congfigA.js saturu | | Prezentēt failu configA.js | Faili, kas neeksistē congfigB.js | Konteinerā configB.js jauns fails ar configA.js faila saturu paliek nemainīgs configB.js visi pārējie faili |
Kopsavilkuma
Resursdatora fails vienmēr pārrakstīs konteinera ķīniešu mapi
Uzņēmējas | Konteineru | Montāžas rezultāts | | Neeksistējoši faili | Jau esošie dokumenti | Aizliegtas darbības | | Esošie dokumenti | Faili, kas neeksistē / faili, kas jau pastāv | Pievienot/pārrakstīt (izveido direktoriju, ja tā nav) |
Secinājums
Mapes stiprinājums
- Ja atļaujat konteinerā uzstādīt neeksistējošas mapes vai tukšas mapes, atbilstošās mapes konteinerā tiks iztukšotas
- Pievienojot konteineram netukšu mapi, tiks pārrakstīta konteinera sākotnējā mape
Faila stiprinājums
- Aizliegts uzstādīt neeksistējošus failus failos, kas jau pastāv konteinerā
- Esošie faili tiks pārrakstīti, kad tie tiks pievienoti konteineram, un, ja faili nepastāv, tie tiks izveidoti
Lietošanas scenāriji
- No iepriekš minētās analīzes var redzēt, ka mapes montāža tiek izmantota, lai pārrakstītu failus visā mapē, tāpēc to var izmantot, ja konteinerā ir jāuzstāda liels skaits failu, turklāt, ja ir uzstādīta tukša mape vai neeksistējoša mape, to parasti izmanto pretēji: tas ir, pēc konteinera palaišanas daži faili (piemēram, žurnāli) var tikt ģenerēti konteinera montāžas punkta mapē, un šobrīd to var tieši redzēt mapē attiecīgajā resursdatorā.
- Failu montāža bieži tiek izmantota, lai uzstādītu konfigurācijas failus, lai dinamiski modificētu noklusējuma konfigurāciju izpildlaikā, jo tā pārraksta tikai vienu failu, neietekmējot citus failus tajā pašā konteinera mapē.
Pārcelts no:Hipersaites pieteikšanās ir redzama.
(Beigas) |