கற்றல் டோக்கர், பகுதி 6: தரவுகளுடன் பணிபுரிதல்

டோக்கரைப் பற்றிய தொடர்ச்சியான பொருட்களின் மொழிபெயர்ப்பின் இன்றைய பகுதியில், தரவுகளுடன் பணிபுரிவது பற்றி பேசுவோம். குறிப்பாக, டோக்கர் தொகுதிகள் பற்றி. இந்த பொருட்களில், நாங்கள் தொடர்ந்து பல்வேறு உண்ணக்கூடிய ஒப்புமைகளுடன் டோக்கர் மென்பொருள் இயந்திரங்களை ஒப்பிட்டுப் பார்த்தோம். இங்கும் இந்த மரபிலிருந்து நாம் விலக வேண்டாம். டோக்கரில் உள்ள தரவு மசாலாவாக இருக்கட்டும். உலகில் பல வகையான மசாலா வகைகள் உள்ளன, மேலும் டோக்கரில் தரவுகளுடன் வேலை செய்ய பல வழிகள் உள்ளன.

பகுதி 1: அடிப்படைகள்
பகுதி 2: விதிமுறைகள் மற்றும் கருத்துக்கள்
பகுதி 3: Dockerfiles
பகுதி 4: படத்தின் அளவைக் குறைத்தல் மற்றும் அவற்றின் உருவாக்கத்தை விரைவுபடுத்துதல்
பகுதி 5: கட்டளைகள்
பகுதி 6: தரவுகளுடன் பணிபுரிதல்

கற்றல் டோக்கர், பகுதி 6: தரவுகளுடன் பணிபுரிதல்

இந்த பொருள் டோக்கர் இன்ஜின் பதிப்பு 18.09.1 ​​மற்றும் API பதிப்பைப் பயன்படுத்தி தயாரிக்கப்பட்டது என்பதை நினைவில் கொள்ளவும் 1.39.

டோக்கரில் உள்ள தரவு தற்காலிகமாகவோ அல்லது நிரந்தரமாகவோ சேமிக்கப்படும். நேர தரவுகளுடன் ஆரம்பிக்கலாம்.

தற்காலிக தரவு சேமிப்பு

டோக்கர் கன்டெய்னர்களில், தற்காலிகத் தரவுகளுடன் வேலையை இரண்டு வழிகளில் ஒழுங்கமைக்கலாம்.

இயல்பாக, ஒரு கன்டெய்னரில் இயங்கும் அப்ளிகேஷன் மூலம் உருவாக்கப்பட்ட கோப்புகள் கொள்கலனின் எழுதக்கூடிய அடுக்கில் சேமிக்கப்படும். இந்த பொறிமுறையானது செயல்பட, சிறப்பு எதுவும் கட்டமைக்கப்பட வேண்டியதில்லை. இது மலிவாகவும் மகிழ்ச்சியாகவும் மாறும். பயன்பாடு வெறுமனே தரவைச் சேமித்து அதன் சொந்த வேலையைத் தொடர வேண்டும். இருப்பினும், கொள்கலன் நிறுத்தப்பட்ட பிறகு, இந்த எளிய வழியில் சேமிக்கப்பட்ட தரவு மறைந்துவிடும்.

டோக்கரில் தற்காலிக கோப்புகளை சேமிப்பதற்கான மற்றொரு தீர்வு உள்ளது, நிலையான தற்காலிக சேமிப்பக பொறிமுறையில் அடையக்கூடியதை விட அதிக செயல்திறன் தேவைப்படும் சந்தர்ப்பங்களில் பொருத்தமானது. கொள்கலன் இருப்பதை விட உங்கள் தரவு நீண்ட நேரம் சேமிக்கப்பட வேண்டிய அவசியம் இல்லை என்றால், நீங்கள் tmpfs ஐ கொள்கலனுடன் இணைக்கலாம் - இது ஹோஸ்டின் RAM ஐப் பயன்படுத்தும் ஒரு தற்காலிக தகவல் சேமிப்பகம். இது தரவு எழுதுதல் மற்றும் வாசிப்பு செயல்பாடுகளை துரிதப்படுத்தும்.

கொள்கலன் இல்லாத பிறகும் தரவு சேமிக்கப்பட வேண்டும் என்பது பெரும்பாலும் நிகழ்கிறது. இந்த நோக்கத்திற்காக, நிலையான தரவு சேமிப்பிற்கான வழிமுறைகள் நமக்குத் தேவைப்படும்.

நிரந்தர தரவு சேமிப்பு

கொள்கலன் வாழ்நாளை விட டேட்டா ஆயுட்காலத்தை அதிகமாக்க இரண்டு வழிகள் உள்ளன. பைண்ட் மவுண்ட் தொழில்நுட்பத்தைப் பயன்படுத்துவது ஒரு வழி. இந்த அணுகுமுறை மூலம், கொள்கலனில் ஒரு நிஜ வாழ்க்கை கோப்புறையை ஏற்றலாம். டோக்கருக்கு வெளியே அமைந்துள்ள செயல்முறைகள் அத்தகைய கோப்புறையில் சேமிக்கப்பட்ட தரவுகளுடன் வேலை செய்ய முடியும். எப்படி என்பது இங்கே பாருங்கள் tmpfs மவுண்டிங் மற்றும் பைண்ட் மவுண்ட் தொழில்நுட்பம்.

கற்றல் டோக்கர், பகுதி 6: தரவுகளுடன் பணிபுரிதல்
மவுண்ட் tmpfs மற்றும் பைண்ட் மவுண்ட்

பைண்ட் மவுண்ட் தொழில்நுட்பத்தைப் பயன்படுத்துவதன் தீமைகள் என்னவென்றால், அதன் பயன்பாடு தரவு காப்புப்பிரதி, தரவு இடம்பெயர்வு மற்றும் பல கொள்கலன்களிடையே தரவுப் பகிர்வை சிக்கலாக்குகிறது. நிலையான தரவு சேமிப்பிற்கு டோக்கர் தொகுதிகளைப் பயன்படுத்துவது மிகவும் சிறந்தது.

டோக்கர் தொகுதிகள்

தொகுதி என்பது கொள்கலன்களுக்கு வெளியே ஹோஸ்ட் கணினியில் இருக்கும் கோப்பு முறைமையாகும். டோக்கர் தொகுதிகளை உருவாக்கி நிர்வகிக்கிறார். டோக்கர் தொகுதிகளின் முக்கிய பண்புகள் இங்கே:

  • அவை தகவல்களை நிரந்தரமாக சேமிப்பதற்கான ஒரு வழியாகும்.
  • அவை சுயாதீனமானவை மற்றும் கொள்கலன்களிலிருந்து பிரிக்கப்படுகின்றன.
  • அவை வெவ்வேறு கொள்கலன்களுக்கு இடையில் பகிரப்படலாம்.
  • தரவை திறம்பட படிக்கவும் எழுதவும் ஒழுங்கமைக்க அவை உங்களை அனுமதிக்கின்றன.
  • ரிமோட் கிளவுட் வழங்குநரின் ஆதாரங்களில் தொகுதிகளை ஹோஸ்ட் செய்யலாம்.
  • அவை குறியாக்கம் செய்யப்படலாம்.
  • அவர்களுக்கு பெயர்கள் கொடுக்கலாம்.
  • கன்டெய்னர் வால்யூம் முன்கூட்டியே தரவுகளுடன் நிரப்பப்படுவதற்கு ஏற்பாடு செய்யலாம்.
  • அவை சோதனைக்கு வசதியானவை.

நீங்கள் பார்க்க முடியும் என, டோக்கர் தொகுதிகள் சில சிறந்த பண்புகளைக் கொண்டுள்ளன. அவற்றை எவ்வாறு உருவாக்குவது என்பது பற்றி பேசலாம்.

தொகுதிகளை உருவாக்குதல்

டோக்கரைப் பயன்படுத்தி அல்லது ஏபிஐ கோரிக்கைகளைப் பயன்படுத்தி தொகுதிகளை உருவாக்கலாம்.

கொள்கலன் தொடங்கும் போது ஒரு தொகுதியை உருவாக்க உங்களை அனுமதிக்கும் 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 - டோக்கர் ஸ்வர்ம் சூழலில். இருப்பினும், டோக்கர் 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 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

இப்போது இந்த டோக்கர் தொடரை முடித்துவிட்டோம், டோக்கர் கற்றவர்கள் அடுத்து எங்கு செல்லலாம் என்பதைப் பற்றி சில வார்த்தைகளைச் சொல்ல வேண்டிய நேரம் இது. இங்கே டோக்கர் பற்றிய அருமையான கட்டுரை. இங்கே டோக்கரைப் பற்றிய புத்தகம் (இந்தப் புத்தகத்தை வாங்கும் போது, ​​சமீபத்திய பதிப்பைப் பெற முயற்சிக்கவும்). இங்கே தொழில்நுட்பத்தைக் கற்க பயிற்சியே சிறந்த வழி என்று நம்புபவர்களுக்கு ஏற்ற மற்றொரு புத்தகம்.

அன்புள்ள வாசகர்கள்! டோக்கரைப் பற்றி ஆரம்பநிலையாளர்கள் கற்றுக்கொள்ள என்னென்ன பொருட்களைப் பரிந்துரைக்கிறீர்கள்?

கற்றல் டோக்கர், பகுதி 6: தரவுகளுடன் பணிபுரிதல்

ஆதாரம்: www.habr.com

கருத்தைச் சேர்