ስለ ዶከር በተከታታይ ቁሳቁሶች የትርጉም ክፍል ዛሬ ከመረጃ ጋር ስለመስራት እንነጋገራለን ። በተለይም ስለ ዶከር ጥራዞች. በእነዚህ ቁሳቁሶች ውስጥ Docker የፕሮግራም አወጣጥ ዘዴዎችን ከተለያዩ ለምግብነት ከሚውሉ ተመሳሳይ ምሳሌዎች ጋር እናነፃፅራለን። ከዚህ ወግ አናፈነግጥም። በዶከር ውስጥ ያለው መረጃ ቅመማ ቅመም ይሁን። በአለም ላይ ብዙ አይነት ቅመሞች አሉ፣ እና ዶከር ከመረጃ ጋር ለመስራት ብዙ መንገዶች አሉት።
→
→
→
→
→
→
እባክዎ ይህ ቁሳቁስ የተዘጋጀው የዶከር ኢንጂን ስሪት 18.09.1 እና ኤፒአይ ስሪትን በመጠቀም ነው።
በ Docker ውስጥ ያለ ውሂብ በጊዜያዊነት ወይም በቋሚነት ሊከማች ይችላል። በጊዜያዊ መረጃ እንጀምር።
ጊዜያዊ የውሂብ ማከማቻ
በ Docker ኮንቴይነሮች ውስጥ ጊዜያዊ ውሂብን ለማስተዳደር ሁለት መንገዶች አሉ።
በነባሪ፣ በኮንቴይነር ውስጥ በሚሰራ መተግበሪያ የተፈጠሩ ፋይሎች ሊፃፍ በሚችል መያዣ ንብርብር ውስጥ ይቀመጣሉ። ይህ ዘዴ እንዲሠራ, ምንም ልዩ ነገር ማዋቀር አያስፈልግም. ርካሽ እና ደስተኛ ሆኖ ይወጣል. አፕሊኬሽኑ በቀላሉ ውሂቡን ማስቀመጥ እና የራሱን ስራ መስራቱን መቀጠል አለበት። ነገር ግን, መያዣው መኖሩን ካቆመ በኋላ, እንደዚህ ባለ ቀላል መንገድ የተቀመጠው መረጃም ይጠፋል.
በ Docker ውስጥ ጊዜያዊ የፋይል ማከማቻ መደበኛ ጊዜያዊ የመረጃ ማከማቻ ዘዴን በመጠቀም ሊደረስበት ከሚችለው በላይ ከፍ ያለ የአፈፃፀም ደረጃ ለሚፈልጉ ጉዳዮች ተስማሚ የሆነ ሌላ መፍትሄ ነው። የእርስዎ ውሂብ መያዣው ካለበት ጊዜ በላይ እንዲከማች ካላደረጉ፣ ከኮንቴይነር tmpfs ጋር መገናኘት ይችላሉ - የአስተናጋጁ RAM የሚጠቀም ጊዜያዊ የመረጃ ማከማቻ። ይህ የመረጃ አጻጻፍ እና የማንበብ ስራዎችን ያፋጥናል.
ብዙውን ጊዜ የሚከሰተው መያዣው ካለቀ በኋላ እንኳን ውሂቡ ማከማቸት ያስፈልገዋል. ይህንን ለማድረግ ቋሚ የመረጃ ማከማቻ ዘዴዎች ያስፈልጉናል.
የማያቋርጥ የውሂብ ማከማቻ
ውሂቡን ከመያዣው የህይወት ዘመን የበለጠ ረጅም ለማድረግ ሁለት መንገዶች አሉ። አንደኛው መንገድ የቢንዲ ተራራ ቴክኖሎጂን መጠቀም ነው። በዚህ አቀራረብ, ለምሳሌ, የእውነተኛ ህይወት አቃፊ ወደ መያዣው ላይ መጫን ይችላሉ. ከDocker ውጪ ያሉ ሂደቶች በእንደዚህ አይነት አቃፊ ውስጥ ከተከማቸው ውሂብ ጋር መስራት ይችላሉ። እንደዛ ነው።
tmpfs እና ማሰሪያ ተራራን መጫን
የቢንድ ተራራ ቴክኖሎጂን የመጠቀም ጉዳቱ አጠቃቀሙ የውሂብ ምትኬን ፣ የውሂብ ፍልሰትን ፣ የመረጃ መጋራትን በበርካታ ኮንቴይነሮች መካከል ያወሳስበዋል ። ለቀጣይ የውሂብ ማከማቻ Docker ጥራዞችን መጠቀም በጣም የተሻለ ነው።
መጠኖች Docker
ጥራዝ ከኮንቴይነሮች ውጭ በአስተናጋጅ ማሽን ላይ የሚገኝ የፋይል ስርዓት ነው. መጠኖች የተፈጠሩ እና የሚተዳደሩት በዶከር ነው። የዶከር መጠኖች ዋና ዋና ባህሪዎች እዚህ አሉ
- ቋሚ የመረጃ ማከማቻ መንገዶች ናቸው።
- እራሳቸውን የቻሉ እና ከመያዣዎች ተለያይተዋል.
- በተለያዩ መያዣዎች መካከል ሊጋሩ ይችላሉ.
- ቀልጣፋ የመረጃ ንባብ እና መፃፍ እንዲያደራጁ ያስችሉዎታል።
- መጠኖች በሩቅ የደመና አቅራቢ ሀብቶች ላይ ሊቀመጡ ይችላሉ።
- ኢንክሪፕት ሊደረጉ ይችላሉ።
- ስም ሊሰጣቸው ይችላል።
- መያዣው ከውሂብ ጋር የድምፅን ቅድመ-ሕዝብ ማዘጋጀት ይችላል.
- ለሙከራ ምቹ ናቸው.
እንደሚመለከቱት, Docker ጥራዞች አስደናቂ ባህሪያት አሏቸው. እንዴት እነሱን መፍጠር እንደሚቻል እንነጋገር.
መጠኖችን መፍጠር
መጠኖች Docker ወይም API ጥያቄዎችን በመጠቀም ሊፈጠሩ ይችላሉ።
መያዣ ሲጀምሩ የድምጽ መጠን እንዲፈጥሩ የሚያስችልዎ በ Dockerfile ውስጥ መመሪያ አለ.
VOLUME /my_volume
ተመሳሳይ መመሪያን በሚጠቀሙበት ጊዜ, ዶከር, መያዣውን ከፈጠሩ በኋላ, በተጠቀሰው ቦታ ላይ ያለውን ውሂብ የያዘ ድምጽ ይፈጥራል. Dockerfileን በመጠቀም የድምጽ መጠን ከፈጠሩ ይህ የድምጽ መስቀያ ነጥቡን ከመግለጽ እንደሚያሳጣዎት ልብ ይበሉ።
የJSON ፎርማትን በመጠቀም ጥራዞችን በ Dockerfile ውስጥ መፍጠር ይችላሉ።
በተጨማሪም መያዣው በሚሠራበት ጊዜ የትእዛዝ መስመር መሳሪያዎችን በመጠቀም ጥራዞች ሊፈጠሩ ይችላሉ.
ከትእዛዝ መስመር ጥራዞች ጋር በመስራት ላይ
▍ድምፅ መፍጠር
በሚከተለው ትዕዛዝ ራሱን የቻለ ድምጽ መፍጠር ይችላሉ፡
docker volume create —-name my_volume
▍ ስለ መጠኖች መረጃን ያግኙ
የዶከር ጥራዞች ዝርዝር ለማየት የሚከተለውን ትዕዛዝ ይጠቀሙ፡-
docker volume ls
እንደዚህ ያለ የተወሰነ መጠን ማሰስ ይችላሉ-
docker volume inspect my_volume
▍ድምፅን በመሰረዝ ላይ
እንደዚህ ያለ መጠን መሰረዝ ይችላሉ-
docker volume rm my_volume
በመያዣዎች ጥቅም ላይ የማይውሉትን ሁሉንም መጠኖች ለመሰረዝ ወደሚከተለው ትዕዛዝ መሄድ ይችላሉ-
docker volume prune
ጥራዞችን ከመሰረዝዎ በፊት, Docker ይህን ክዋኔ እንዲያረጋግጡ ይጠይቅዎታል.
አንድ የድምፅ መጠን ከመያዣው ጋር የተያያዘ ከሆነ ተጓዳኝ መያዣው እስኪሰረዝ ድረስ ያ መጠን ሊሰረዝ አይችልም. በተመሳሳይ ጊዜ, መያዣው ቢወገድም, ዶከር ሁልጊዜ ይህንን አይረዳም. ይህ ከተከሰተ, የሚከተለውን ትዕዛዝ መጠቀም ይችላሉ:
docker system prune
የዶከር ሀብቶችን ለማጽዳት የተነደፈ ነው. ይህን ትእዛዝ ከፈጸሙ በኋላ፣ ሁኔታቸው ከዚህ ቀደም ትክክል ያልሆነውን ጥራዞች መሰረዝ መቻል አለቦት።
የ -- ተራራ እና - ጥራዝ ባንዲራዎች
ከጥራዞች ጋር ለመስራት, ትዕዛዙን ሲደውሉ docker
, ብዙ ጊዜ ባንዲራዎችን መጠቀም ያስፈልግዎታል. ለምሳሌ ፣ መያዣ በሚፈጠርበት ጊዜ ድምጽን ለመፍጠር ፣ ይህንን ግንባታ መጠቀም ይችላሉ-
docker container run --mount source=my_volume, target=/container/path/for/volume my_image
በጥንት ጊዜ (እስከ 2017) ባንዲራ ተወዳጅ ነበር --volume
. መጀመሪያ ላይ ይህ ባንዲራ (በተጨማሪም በአህጽሮት መልክ ጥቅም ላይ ሊውል ይችላል, ከዚያ ይመስላል -v
) ለብቻው መያዣዎች እና ባንዲራ ጥቅም ላይ ይውላል --mount
- በ Docker Swarm አካባቢ. ሆኖም ከዶከር 17.06 ባንዲራ --mount
በማንኛውም ሁኔታ ውስጥ ጥቅም ላይ ሊውል ይችላል.
ባንዲራውን ሲጠቀሙ ልብ ሊባል ይገባል --mount
በትእዛዙ ውስጥ መገለጽ ያለበት ተጨማሪ የውሂብ መጠን ይጨምራል ፣ ግን ፣ በብዙ ምክንያቶች ፣ ይህንን ልዩ ባንዲራ መጠቀም የተሻለ ነው ፣ ግን አይደለም --volume
. ባንዲራ --mount
ከአገልግሎቶች ጋር እንዲሰሩ ወይም የድምጽ አሽከርካሪ አማራጮችን እንዲገልጹ የሚያስችልዎ ብቸኛው ዘዴ ነው. በተጨማሪም, ይህ ባንዲራ አብሮ ለመስራት ቀላል ነው.
አሁን ባሉት የዶከር ዳታ ማጭበርበር ትዕዛዞች ምሳሌዎች ውስጥ የሰንደቅ አላማ አጠቃቀም ብዙ ምሳሌዎችን ማየት ይችላሉ። -v
. እነዚህን ትዕዛዞች ለራስዎ ለማስማማት ሲሞክሩ ባንዲራዎቹ መሆናቸውን ያስታውሱ --mount
и --volume
የተለያዩ የመለኪያ ቅርጸቶችን ይጠቀሙ. ማለትም በቀላሉ መተካት አይችሉም -v
ላይ --mount
እና የስራ ቡድን ያግኙ።
መካከል ያለው ዋና ልዩነት --mount
и --volume
ባንዲራውን ሲጠቀሙ ነው --volume
ሁሉም መለኪያዎች በአንድ መስክ ውስጥ ይሰበሰባሉ, እና ሲጠቀሙ --mount
መለኪያዎች ተለያይተዋል.
ጋር ሲሰሩ --mount
መለኪያዎች እንደ ቁልፍ-እሴት ጥንዶች ይወከላሉ ፣ ማለትም ፣ ይመስላል key=value
. እነዚህ ጥንዶች በነጠላ ሰረዞች ተለያይተዋል። በብዛት ጥቅም ላይ የዋሉ አማራጮች እነኚሁና። --mount
:
type
- የመጫኛ ዓይነት. ለተዛማጅ ቁልፍ ዋጋ ሊሆን ይችላልእሰር ,ድምጽ ወይምtmpfs . እዚህ ስለ ጥራዞች እየተነጋገርን ነው, ማለትም, በእሴቱ ላይ ፍላጎት አለንvolume
.source
- የመጫኛ ምንጭ. ለተሰየሙ ጥራዞች, ይህ የመጠን ስም ነው. ላልተሰየሙ ጥራዞች ይህ ቁልፍ አልተገለጸም። ወደ ማጠር ይቻላል።src
.destination
- ፋይሉ ወይም ማህደሩ በእቃ መያዣው ውስጥ የተገጠመበት መንገድ. ይህ ቁልፍ ሊታጠር ይችላል።dst
ወይምtarget
.readonly
- የታሰበውን የድምፅ መጠን ይጫናልለማንበብ ብቻ . የዚህ ቁልፍ አጠቃቀም አማራጭ ነው, እና ምንም ዋጋ አልተሰጠም.
የአጠቃቀም ምሳሌ እዚህ አለ። --mount
ከብዙ አማራጮች ጋር፡-
docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image
ውጤቶች
ከ Docker ጥራዞች ጋር ሲሰሩ ሊጠቀሙባቸው የሚችሏቸው አንዳንድ ጠቃሚ ትዕዛዞች እነኚሁና፡
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
በተለምዶ ጥቅም ላይ የዋሉ አማራጮች ዝርዝር ይኸውና --mount
, በቅጹ ትዕዛዝ ውስጥ ተፈጻሚ ይሆናል docker run --mount my_options my_image
:
type=volume
source=volume_name
destination=/path/in/container
readonly
አሁን ይህን የዶከር ተከታታዮችን እንደጨረስን፣ የዶክተር ተማሪዎች ቀጥሎ የት መሄድ እንደሚችሉ ጥቂት ቃላት የምንናገርበት ጊዜ ነው።
ውድ አንባቢዎች! ለጀማሪዎች እንዲማሩ ምን Docker ቁሳቁሶችን ይመክራሉ?
ምንጭ: hab.com