Háttér
A docker kötet lehetővé teszi, hogy dinamikusan csatlakoztatjunk bizonyos fájlokat (például konfigurációs fájlokat), hogy felülírjuk az eredeti fájlokat a képen egy docker konténer indításakor, de mi történik, ha egy mappát vagy fájlt csatlakoztatunk, amely még nem létezik a konténer hostján? LZ ilyen problémával szembesült munkáiban, ezért maga gyakorolta, és a kísérleti eredményeket a következőképpen rögzítette:
mappa rögzítés
A Docker viselkedése a mapparögzítésnél egyformális, a következőkép:
- Ha a mappa nem létezik, akkor először a mappát hozják létre (vagy rekurzívan, ha többszintű mappa)
- Írd felül a mappatartalmát a konténerben a hoston lévő mappátartalommal
A részletek a következők:
A mappaház a hoston létezik, és nem üres
házigazda | konténer | Mount eredmény | | Nem üres A mappa létezik | B mappa nem létezik | Először hozd létre a B mappát a Contanierben, majd másold be az összes fájlt az A mappában a B-be | | Nem üres A mappa létezik | A nem üres B mappa létezik | Először ürítse ki a B konténer kínai mégisének eredeti tartalmát, majd másold le az A kínai másolatot a B-be |
Függetlenül attól, hogy létezik-e B mész a konténerben, A teljesen felülírja B tartalmát
A hoston lévő mappa létezik, de üres
házigazda | konténer | Mount eredmény | | Üres A mappa létezik | A nem üres B mappa létezik | A konténer kínai B mappa tartalmát kiürítik |
A konténerben lévő megfelelő mappa tartalma kiürül
A host mappa nem létezik
házigazda | konténer | Mount eredmény | | A mappa, ami nem létezik | A nem üres B mappa létezik | Létrehozzuk az A mappát a hoston, és a kínai B konténer tartalma kiürül | | A/B/C mappák, amelyek nem léteznek | A nem üres B mappa létezik | Létrehozz A/B/C mappákat a hoston, és a kínai B konténer tartalma kiürül |
A konténerben lévő megfelelő mappa tartalma kiürül
összefoglalás
A host mappa biztosan felülírja a konténer kínai mappát:
házigazda | konténer | Mount eredmény | | A mappa nem létezik/mappa létezik, de üres | A mappa nem létezik/létezik, de üres/létezik, és nem üres | A tartályos kínai darab fedett (kiürítve) | | A mappa létezik, és nem üres | A mappa nem létezik/létezik, de üres/létezik, és nem üres | a container Chinese mappák tartalmát felülírják (az eredeti tartalmat kiürítik, és a hosten lévő mappa tartalmát felülírják) |
Fájlrögzítés
A legnagyobb különbség a fájlrögzítés és a mappá-rögzítés között a következő:
- Docker megtiltja, hogy olyan fájlokat szereljenek össze, amelyek nem léteznek a hostban
- A fájlrögzítés nem befolyásolja más fájlokat ugyanabban a mappában
Ezen felülírási viselkedése összhangban van a mappa-összeszereléssel, azaz:
- Írd felül a fájl tartalmát a konténerben a fájl tartalmával a hoston
A részletek a következők:
házigazda
házigazda | konténer | Mount eredmény | | Olyan fájlok, amelyek nem léteznek configA.js | Már létező dokumentumok congfigB.js | Hiba, Könyvtárat próbálsz egy fájlra csatlakoztatni (vagy fordítva)? Ellenőrizd, hogy létezik-e a megadott hoszt út, és a várt típus. Egyszerre generál két üres könyvtárat, configA.js és configB.js a hoston, de a konténer nem indul el |
házigazda
házigazda | konténer | Mount eredmény | | Jelenlegi fájl configA.js | Jelen congfigB.js | Konténer kínai tárgy configB.js változatlan, de a fájl tartalmát felülírja a congfigA.js tartalma | | Jelenlegi fájl configA.js | Olyan fájlok, amelyek nem léteznek congfigB.js | Egy új fájl, configB.js a konténerben a configA.js fájl tartalmával változatlan marad, configB.js minden más fájl a fájl alatt |
összefoglalás
A hoston lévő fájl mindig felülírja a konténer kínai mappát
házigazda | konténer | Mount eredmény | | Fájlok nem léteznek | Már létező dokumentumok | Tiltott cselekedetek | | Létező dokumentumok | Fájlok nem léteznek / fájlok már léteznek | Hozzáadás/felülírás (létrehoz egy könyvtárat, ha nem létezik) |
következtetés
mappa rögzítés
- Ha engedélyezzük, hogy nem létező vagy üres mappákat szereljenek a konténerbe, a konténerben lévő megfelelő mappák kiürülnek
- Ha egy nem üres mappát csatolunk egy konténerhez, felülírja az eredeti mappát a konténerben
Fájlrögzítés
- Tilos nem létező fájlokat olyan fájlokra szerelni, amelyek már léteznek a konténerben
- A meglévő fájlokat felülírják, amikor a konténerhez csatlakoznak, és ha ezek nem léteznek, akkor létrehozzák őket
Alkalmazási forgatókönyvek
- A fenti elemzésből látható, hogy a mappák rögzítése az egész mappában található fájlok felülírására szolgál, így akkor is használható, ha sok fájlt kell csatlakoztatni a konténerbe, továbbá, ha üres vagy nem létező mappa van csatlakoztatva, általában fordítva használják: azaz a konténer elindítása után néhány fájl (például naplók) generálhatók a tároló csatlakoztatási pontjának mappája alatt, és ekkor közvetlenül látható a megfelelő hoston lévő mappában.
- A fájl rögzítését gyakran használják konfigurációs fájlok csatlakoztatására, hogy dinamikusan módosítsák az alapértelmezett konfigurációt futásidőben, mivel csak egyetlen fájlt ír felül anélkül, hogy befolyásolná a konténerben lévő többi fájlt ugyanabban a mappában.
Áthelyezve:A hiperlink bejelentkezés látható.
(Vége) |