Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 9379|Válasz: 0

A fájl vagy mappa nem létezik, amikor a Docker kötetet csatlakoztatják

[Linket másol]
Közzétéve 2021. 11. 08. 9:20:35 | | |
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étezikB mappa nem létezikElő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étezikA nem üres B mappa létezikElő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étezikA nem üres B mappa létezikA 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étezikA nem üres B mappa létezikLé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éteznekA nem üres B mappa létezikLé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 üresA mappa nem létezik/létezik, de üres/létezik, és nem üresA tartályos kínai darab fedett (kiürítve)
A mappa létezik, és nem üresA mappa nem létezik/létezik, de üres/létezik, és nem üresa 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.jsMár létező dokumentumok congfigB.jsHiba, 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.jsJelen congfigB.jsKonté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.jsOlyan fájlok, amelyek nem léteznek congfigB.jsEgy ú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éteznekMár létező dokumentumokTiltott cselekedetek
Létező dokumentumokFájlok nem léteznek / fájlok már léteznekHozzá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)




Előző:Az Elasticsearch az elasticdumpot használja az adatok mentésére és migrációjára
Következő:Docker POI hibakivétel megoldás
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com