ඉගෙනුම් ඩොකර්, 6 කොටස: දත්ත සමඟ වැඩ කිරීම

ඩොකර් ගැන ද්‍රව්‍ය මාලාවක පරිවර්තනයේ අද කොටසේදී, අපි දත්ත සමඟ වැඩ කිරීම ගැන කතා කරමු. විශේෂයෙන්ම, ඩොකර් වෙළුම් ගැන. මෙම ද්‍රව්‍ය තුළ, අපි නිරන්තරයෙන් විවිධ ආහාරයට ගත හැකි ප්‍රතිසමයන් සමඟ ඩොකර් ක්‍රමලේඛන යාන්ත්‍රණයන් සංසන්දනය කළෙමු. අපි මෙතැනදී මේ සම්ප්‍රදායෙන් බැහැර වෙන්නේ නැහැ. Docker හි දත්ත කුළුබඩු වීමට ඉඩ දෙන්න. ලෝකයේ බොහෝ කුළුබඩු වර්ග ඇති අතර, දත්ත සමඟ වැඩ කිරීමට ඩොකර්ට බොහෝ ක්‍රම තිබේ.

1 කොටස: මූලික කරුණු
2 කොටස: නියමයන් සහ සංකල්ප
3 කොටස: ඩොකර්ෆයිල්ස්
4 වන කොටස: රූපවල ප්‍රමාණය අඩු කිරීම සහ ඒවායේ එකලස් කිරීම වේගවත් කිරීම
5 කොටස: විධාන
6 කොටස: දත්ත සමඟ වැඩ කිරීම

ඉගෙනුම් ඩොකර්, 6 කොටස: දත්ත සමඟ වැඩ කිරීම

මෙම ද්‍රව්‍ය ඩොකර් එන්ජින් අනුවාදය 18.09.1 ​​සහ API අනුවාදය භාවිතයෙන් සකස් කර ඇති බව කරුණාවෙන් සලකන්න 1.39.

Docker හි දත්ත තාවකාලිකව හෝ ස්ථිරව ගබඩා කළ හැක. අපි තාවකාලික දත්ත වලින් පටන් ගනිමු.

තාවකාලික දත්ත ගබඩා කිරීම

ඩොකර් බහාලුම්වල තාවකාලික දත්ත කළමනාකරණය කිරීමට ක්‍රම දෙකක් තිබේ.

පෙරනිමියෙන්, බහාලුමක් තුළ ධාවනය වන යෙදුමක් මඟින් සාදන ලද ගොනු ලිවිය හැකි බහාලුම් ස්ථරයක ගබඩා කර ඇත. මෙම යාන්ත්රණය ක්රියා කිරීම සඳහා, විශේෂ කිසිවක් වින්යාස කිරීම අවශ්ය නොවේ. එය ලාභදායී හා සතුටු සිතින් හැරෙනවා. යෙදුම සරලව දත්ත සුරැකීමට සහ තමන්ගේම දෙයක් කිරීමට අවශ්ය වේ. කෙසේ වෙතත්, කන්ටේනරය පැවතීම නැවැත්වූ පසු, එවැනි සරල ආකාරයකින් සුරකින ලද දත්ත ද අතුරුදහන් වනු ඇත.

සම්මත තාවකාලික දත්ත ගබඩා කිරීමේ යාන්ත්‍රණය භාවිතයෙන් ලබා ගත හැකි දේට සාපේක්ෂව ඉහළ කාර්ය සාධනයක් අවශ්‍ය වන අවස්ථා සඳහා ඩොකර් හි තාවකාලික ගොනු ගබඩාව සුදුසු තවත් විසඳුමකි. ඔබේ දත්ත බහාලුම පවතින කාලයට වඩා වැඩි කාලයක් ගබඩා කිරීමට ඔබට අවශ්‍ය නැතිනම්, ඔබට tmpfs - ධාරකයේ RAM භාවිතා කරන තාවකාලික තොරතුරු ගබඩාවකට සම්බන්ධ විය හැක. මෙය දත්ත ලිවීමේ සහ කියවීමේ මෙහෙයුම් ක්‍රියාත්මක කිරීම වේගවත් කරනු ඇත.

කන්ටේනරය පැවතීම නැවැත්වීමෙන් පසුව පවා දත්ත ගබඩා කළ යුතු බව බොහෝ විට සිදු වේ. මෙය සිදු කිරීම සඳහා, අපට ස්ථිර දත්ත ගබඩා කිරීමේ යාන්ත්‍රණ අවශ්‍ය වේ.

ස්ථිර දත්ත ගබඩා කිරීම

බහාලුම් ආයු කාලයට වඩා දත්ත ආයු කාලය වැඩි කිරීමට ක්‍රම දෙකක් තිබේ. එක් මාර්ගයක් වන්නේ බයින්ඩ් මවුන්ට් තාක්ෂණය භාවිතා කිරීමයි. මෙම ප්රවේශය සමඟ, ඔබට කන්ටේනරය වෙත සැබෑ ජීවිත ෆෝල්ඩරයක් සවි කළ හැකිය. එවැනි ෆෝල්ඩරයක ගබඩා කර ඇති දත්ත සමඟ Docker වලින් පිටත ක්‍රියාවලි වලටද ක්‍රියා කිරීමට හැකි වේ. එහෙමයි බලන්න tmpfs mount සහ bind mount තාක්ෂණය.

ඉගෙනුම් ඩොකර්, 6 කොටස: දත්ත සමඟ වැඩ කිරීම
tmpfs සහ බන්ධන සවි කිරීම

Bind mount තාක්ෂණය භාවිතා කිරීමේ අවාසි වන්නේ එහි භාවිතය දත්ත උපස්ථ කිරීම, දත්ත සංක්‍රමණය, බහාලුම් කිහිපයක් අතර දත්ත හුවමාරු කිරීම සංකීර්ණ කිරීමයි. ස්ථීර දත්ත ගබඩා කිරීම සඳහා ඩොකර් වෙළුම් භාවිතා කිරීම වඩා හොඳය.

වෙළුම් ඩොකර්

පරිමාවක් යනු බහාලුම් වලින් පිටත ධාරක යන්ත්‍රයේ පිහිටා ඇති ගොනු පද්ධතියකි. වෙළුම් නිර්මාණය කර කළමනාකරණය කරනු ලබන්නේ ඩොකර් විසිනි. ඩොකර් වෙළුම් වල ප්‍රධාන ගුණාංග මෙන්න:

  • ඒවා තොරතුරු ස්ථිර ගබඩා කිරීමේ මාධ්‍යයකි.
  • ඒවා ස්වාධීන වන අතර බහාලුම් වලින් වෙන් කරනු ලැබේ.
  • ඒවා විවිධ බහාලුම් අතර බෙදා ගත හැකිය.
  • දත්ත කාර්යක්ෂමව කියවීම සහ ලිවීම සංවිධානය කිරීමට ඒවා ඔබට ඉඩ සලසයි.
  • දුරස්ථ වලාකුළු සපයන්නෙකුගේ සම්පත් මත වෙළුම් තැබිය හැකිය.
  • ඒවා සංකේතනය කළ හැකිය.
  • ඔවුන්ට නම් ලබා දිය හැකිය.
  • කන්ටේනරයට දත්ත සමඟ පරිමාවේ පූර්ව-ජනගහනය සඳහා කටයුතු කළ හැකිය.
  • ඒවා පරීක්ෂා කිරීම සඳහා පහසු වේ.

ඔබට පෙනෙන පරිදි, ඩොකර් වෙළුම්වල විශ්මයජනක ගුණාංග ඇත. ඒවා නිර්මාණය කරන්නේ කෙසේද යන්න ගැන කතා කරමු.

වෙළුම් නිර්මාණය කිරීම

Docker හෝ API ඉල්ලීම් භාවිතයෙන් වෙළුම් සෑදිය හැක.

බහාලුමක් ආරම්භ කිරීමේදී පරිමාවක් සෑදීමට ඔබට ඉඩ සලසන Dockerfile හි උපදෙස් මෙන්න.

VOLUME /my_volume

සමාන උපදෙස් භාවිතා කරන විට, Docker, බහාලුම නිර්මාණය කිරීමෙන් පසුව, නිශ්චිත ස්ථානයේ දැනටමත් පවතින දත්ත අඩංගු පරිමාවක් නිර්මාණය කරයි. ඔබ 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 මෙය සැමවිටම තේරුම් නොගනී. මෙය සිදුවුවහොත්, ඔබට පහත විධානය භාවිතා කළ හැකිය:

docker system prune

එය ඩොකර් සම්පත් පිරිසිදු කිරීම සඳහා නිර්මාණය කර ඇත. මෙම විධානය ක්‍රියාත්මක කිරීමෙන් පසු, කලින් තත්ත්වය වැරදි වූ වෙළුම් මකා දැමීමට ඔබට හැකි විය යුතුය.

--මවුන්ට් සහ --වෙළුම් කොඩි

වෙළුම් සමඟ වැඩ කිරීමට, ඔබ විධානය ඇමතූ විට docker, ඔබ බොහෝ විට කොඩි භාවිතා කිරීමට අවශ්ය වනු ඇත. උදාහරණයක් ලෙස, බහාලුම් නිර්මාණය කිරීමේදී පරිමාවක් නිර්මාණය කිරීම සඳහා, ඔබට මෙම ඉදිකිරීම භාවිතා කළ හැකිය:

docker container run --mount source=my_volume, target=/container/path/for/volume my_image

පුරාණ කාලයේ (2017 දක්වා) ධජය ජනප්රිය විය --volume. මුලදී, මෙම ධජය (එය සංක්ෂිප්ත ස්වරූපයෙන් ද භාවිතා කළ හැකිය, එවිට එය පෙනේ -v) ස්වාධීන බහාලුම් සහ ධජය සඳහා භාවිතා කරන ලදී --mount - ඩොකර් රංචුව පරිසරයක. කෙසේ වෙතත්, ඩොකර් 17.06 වන විට, කොඩිය --mount ඕනෑම අවස්ථාවක භාවිතා කළ හැක.

කොඩිය භාවිතා කරන විට එය සටහන් කළ යුතුය --mount විධානයේ සඳහන් කළ යුතු අමතර දත්ත ප්‍රමාණය වැඩි වේ, නමුත්, හේතු කිහිපයක් නිසා, මෙම විශේෂිත ධජය භාවිතා කිරීම වඩා හොඳය. --volume. ධජ --mount සේවා සමඟ වැඩ කිරීමට හෝ පරිමා ධාවක විකල්ප නියම කිරීමට ඔබට ඉඩ සලසන එකම යාන්ත්‍රණය වේ. එසේම, මෙම ධජය සමඟ වැඩ කිරීමට පහසුය.

Docker දත්ත උපාමාරු විධාන සඳහා පවතින උදාහරණ වල, ඔබට ධජය භාවිතා කිරීම පිළිබඳ බොහෝ උදාහරණ දැකිය හැකිය -v. මෙම විධාන ඔබටම අනුවර්තනය කිරීමට උත්සාහ කරන විට, කොඩි බව මතක තබා ගන්න --mount и --volume විවිධ පරාමිති ආකෘති භාවිතා කරන්න. එනම්, ඔබට සරලව ප්රතිස්ථාපනය කළ නොහැක -v මත --mount සහ වැඩ කරන කණ්ඩායමක් ලබා ගන්න.

අතර ප්රධාන වෙනස --mount и --volume එනම් කොඩිය භාවිතා කරන විටය --volume සියලුම පරාමිතීන් එක් ක්ෂේත්‍රයක සහ භාවිතා කරන විට එකට එකතු කරනු ලැබේ --mount පරාමිතීන් වෙන් කර ඇත.

සමඟ වැඩ කරන විට --mount පරාමිති යතුරු-අගය යුගල ලෙස නිරූපණය කෙරේ, එනම්, එය පෙනේ key=value. මෙම යුගල කොමා මගින් වෙන් කරනු ලැබේ. බහුලව භාවිතා වන විකල්ප මෙන්න --mount:

  • type - සවිකිරීමේ වර්ගය. අදාළ යතුර සඳහා අගය විය හැක බැඳ තබන්න, පරිමාව හෝ tmpfs. අපි මෙහි වෙළුම් ගැන කතා කරමු, එනම්, අපි වටිනාකම ගැන උනන්දු වෙමු volume.
  • source - mount මූලාශ්රය. නම් කරන ලද වෙළුම් සඳහා, මෙය පරිමාවේ නමයි. නම් නොකළ වෙළුම් සඳහා, මෙම යතුර සඳහන් කර නොමැත. දක්වා කෙටි කළ හැක src.
  • destination - බහාලුම් තුළ ගොනුව හෝ ෆෝල්ඩරය සවි කර ඇති මාර්ගය. මෙම යතුර කෙටි කළ හැක dst හෝ target.
  • readonly - අපේක්ෂිත පරිමාව සවි කරයි කියවීම සඳහා පමණි. මෙම යතුර භාවිතා කිරීම වෛකල්පිත වන අතර, එයට කිසිදු අගයක් පවරනු නොලැබේ.

මෙන්න භාවිතය පිළිබඳ උදාහරණයක් --mount බොහෝ විකල්ප සමඟ:

docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image

ප්රතිඵල

ඩොකර් වෙළුම් සමඟ වැඩ කිරීමේදී ඔබට භාවිතා කළ හැකි ප්‍රයෝජනවත් විධාන කිහිපයක් මෙන්න:

  • 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 මාලාව සම්පූර්ණ කර ඇති බැවින්, Docker ඉගෙන ගන්නන් මීළඟට යා හැක්කේ කොතැනටද යන්න ගැන වචන කිහිපයක් පැවසීමට කාලයයි. මෙහි Docker ගැන හොඳ ලිපියක්. මෙහි ඩොකර් ගැන පොතක් (මෙම පොත මිලදී ගැනීමේදී, එහි නවතම සංස්කරණය ලබා ගැනීමට උත්සාහ කරන්න). මෙහි තාක්ෂණය ඉගෙන ගැනීමට හොඳම ක්‍රමය පුහුණුවීම් යැයි සිතන අයට තවත් පොතක්.

හිතවත් පා readers කයින්! ආරම්භකයින්ට ඉගෙන ගැනීමට ඔබ නිර්දේශ කරන ඩොකර් ද්‍රව්‍ය මොනවාද?

ඉගෙනුම් ඩොකර්, 6 කොටස: දත්ත සමඟ වැඩ කිරීම

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න