ዶክከር መማር፣ ክፍል 6፡ ከመረጃ ጋር መስራት

ስለ ዶከር በተከታታይ ቁሳቁሶች የትርጉም ክፍል ዛሬ ከመረጃ ጋር ስለመስራት እንነጋገራለን ። በተለይም ስለ ዶከር ጥራዞች. በእነዚህ ቁሳቁሶች ውስጥ Docker የፕሮግራም አወጣጥ ዘዴዎችን ከተለያዩ ለምግብነት ከሚውሉ ተመሳሳይ ምሳሌዎች ጋር እናነፃፅራለን። ከዚህ ወግ አናፈነግጥም። በዶከር ውስጥ ያለው መረጃ ቅመማ ቅመም ይሁን። በአለም ላይ ብዙ አይነት ቅመሞች አሉ፣ እና ዶከር ከመረጃ ጋር ለመስራት ብዙ መንገዶች አሉት።

ክፍል 1፡ መሰረታዊ ነገሮች
ክፍል 2: ውሎች እና ጽንሰ-ሐሳቦች
ክፍል 3: Dockerfiles
ክፍል 4፡ የምስሎችን መጠን መቀነስ እና ስብሰባቸውን ማፋጠን
ክፍል 5: ትዕዛዞች
ክፍል 6፡ ከመረጃ ጋር መስራት

ዶክከር መማር፣ ክፍል 6፡ ከመረጃ ጋር መስራት

እባክዎ ይህ ቁሳቁስ የተዘጋጀው የዶከር ኢንጂን ስሪት 18.09.1 ​​እና ኤፒአይ ስሪትን በመጠቀም ነው። 1.39.

በ Docker ውስጥ ያለ ውሂብ በጊዜያዊነት ወይም በቋሚነት ሊከማች ይችላል። በጊዜያዊ መረጃ እንጀምር።

ጊዜያዊ የውሂብ ማከማቻ

በ Docker ኮንቴይነሮች ውስጥ ጊዜያዊ ውሂብን ለማስተዳደር ሁለት መንገዶች አሉ።

በነባሪ፣ በኮንቴይነር ውስጥ በሚሰራ መተግበሪያ የተፈጠሩ ፋይሎች ሊፃፍ በሚችል መያዣ ንብርብር ውስጥ ይቀመጣሉ። ይህ ዘዴ እንዲሠራ, ምንም ልዩ ነገር ማዋቀር አያስፈልግም. ርካሽ እና ደስተኛ ሆኖ ይወጣል. አፕሊኬሽኑ በቀላሉ ውሂቡን ማስቀመጥ እና የራሱን ስራ መስራቱን መቀጠል አለበት። ነገር ግን, መያዣው መኖሩን ካቆመ በኋላ, እንደዚህ ባለ ቀላል መንገድ የተቀመጠው መረጃም ይጠፋል.

በ Docker ውስጥ ጊዜያዊ የፋይል ማከማቻ መደበኛ ጊዜያዊ የመረጃ ማከማቻ ዘዴን በመጠቀም ሊደረስበት ከሚችለው በላይ ከፍ ያለ የአፈፃፀም ደረጃ ለሚፈልጉ ጉዳዮች ተስማሚ የሆነ ሌላ መፍትሄ ነው። የእርስዎ ውሂብ መያዣው ካለበት ጊዜ በላይ እንዲከማች ካላደረጉ፣ ከኮንቴይነር tmpfs ጋር መገናኘት ይችላሉ - የአስተናጋጁ RAM የሚጠቀም ጊዜያዊ የመረጃ ማከማቻ። ይህ የመረጃ አጻጻፍ እና የማንበብ ስራዎችን ያፋጥናል.

ብዙውን ጊዜ የሚከሰተው መያዣው ካለቀ በኋላ እንኳን ውሂቡ ማከማቸት ያስፈልገዋል. ይህንን ለማድረግ ቋሚ የመረጃ ማከማቻ ዘዴዎች ያስፈልጉናል.

የማያቋርጥ የውሂብ ማከማቻ

ውሂቡን ከመያዣው የህይወት ዘመን የበለጠ ረጅም ለማድረግ ሁለት መንገዶች አሉ። አንደኛው መንገድ የቢንዲ ተራራ ቴክኖሎጂን መጠቀም ነው። በዚህ አቀራረብ, ለምሳሌ, የእውነተኛ ህይወት አቃፊ ወደ መያዣው ላይ መጫን ይችላሉ. ከDocker ውጪ ያሉ ሂደቶች በእንደዚህ አይነት አቃፊ ውስጥ ከተከማቸው ውሂብ ጋር መስራት ይችላሉ። እንደዛ ነው። ተመልከት tmpfs ተራራ እና ማሰር ቴክኖሎጂ።

ዶክከር መማር፣ ክፍል 6፡ ከመረጃ ጋር መስራት
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 ቁሳቁሶችን ይመክራሉ?

ዶክከር መማር፣ ክፍል 6፡ ከመረጃ ጋር መስራት

ምንጭ: hab.com

አስተያየት ያክሉ