டோக்கர் என்றால் என்ன: வரலாறு மற்றும் அடிப்படை சுருக்கங்கள் பற்றிய சுருக்கமான பயணம்

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

இந்த கட்டுரையில் டோக்கரின் வரலாறு மற்றும் அதன் முக்கிய சுருக்கங்கள் பற்றி பேசுவோம்: படம், கிளி, டாக்கர்ஃபைல். விரிவுரை ஆரம்பநிலைக்கானது, எனவே அனுபவம் வாய்ந்த பயனர்களுக்கு இது ஆர்வமாக இருக்க வாய்ப்பில்லை. இரத்தம், பிற்சேர்க்கை அல்லது ஆழமான மூழ்குதல் இருக்காது. மிகவும் அடிப்படைகள்.

டோக்கர் என்றால் என்ன: வரலாறு மற்றும் அடிப்படை சுருக்கங்கள் பற்றிய சுருக்கமான பயணம்

டோக்கர் என்றால் என்ன

விக்கிபீடியாவிலிருந்து டோக்கரின் வரையறையைப் பார்ப்போம்.

டோக்கர் என்பது கன்டெய்னரைஸ் செய்யப்பட்ட சூழல்களில் பயன்பாடுகளின் வரிசைப்படுத்தல் மற்றும் நிர்வாகத்தை தானியங்குபடுத்துவதற்கான மென்பொருள் ஆகும்.

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

ஒற்றைக்கல் யுகம்

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

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

ஹைப்பர்வைசர் அடிப்படையிலான மெய்நிகராக்க அமைப்புகள்

மெய்நிகராக்க அமைப்புகளைப் பற்றி அனைவரும் கேள்விப்பட்டிருக்கலாம்: VMware, VirtualBox, Hyper-V, Qemu KVM போன்றவை. அவை பயன்பாட்டுத் தனிமைப்படுத்தல் மற்றும் வள நிர்வாகத்தை வழங்குகின்றன, ஆனால் அவை தீமைகளையும் கொண்டுள்ளன. மெய்நிகராக்கம் செய்ய, உங்களுக்கு ஹைப்பர்வைசர் தேவை. மேலும் ஹைப்பர்வைசர் ஒரு வள மேல்நிலை ஆகும். மேலும் மெய்நிகர் இயந்திரமே பொதுவாக ஒரு முழு கொலோசஸ் ஆகும் - ஒரு இயக்க முறைமை, Nginx, Apache மற்றும் ஒருவேளை MySQL ஆகியவற்றைக் கொண்ட ஒரு கனமான படம். படம் பெரியது மற்றும் மெய்நிகர் இயந்திரம் செயல்பட சிரமமாக உள்ளது. இதன் விளைவாக, மெய்நிகர் இயந்திரங்களுடன் பணிபுரிவது மெதுவாக இருக்கும். இந்த சிக்கலை தீர்க்க, மெய்நிகராக்க அமைப்புகள் கர்னல் மட்டத்தில் உருவாக்கப்பட்டன.

கர்னல்-நிலை மெய்நிகராக்க அமைப்புகள்

கர்னல்-நிலை மெய்நிகராக்கம் OpenVZ, Systemd-nspawn, LXC அமைப்புகளால் ஆதரிக்கப்படுகிறது. அத்தகைய மெய்நிகராக்கத்திற்கு ஒரு குறிப்பிடத்தக்க உதாரணம் LXC (லினக்ஸ் கொள்கலன்கள்).

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

அடிப்படையில் LXC கொள்கலன்களை உருவாக்குகிறது. மெய்நிகர் இயந்திரங்களுக்கும் கொள்கலன்களுக்கும் என்ன வித்தியாசம்?

டோக்கர் என்றால் என்ன: வரலாறு மற்றும் அடிப்படை சுருக்கங்கள் பற்றிய சுருக்கமான பயணம்

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

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

டோக்கர் என்றால் என்ன: வரலாறு மற்றும் அடிப்படை சுருக்கங்கள் பற்றிய சுருக்கமான பயணம்

நீங்கள் உண்மையிலேயே எதையாவது தனிமைப்படுத்த விரும்பினால், ஹார்டுவேர் ஹைப்பர்வைசர்கள் நன்றாக இருக்கும். ஏனெனில் நினைவகப் பக்கங்கள் மற்றும் செயலிகளின் மட்டத்தில் தனிமைப்படுத்த முடியும்.

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

கர்னல் மட்டத்தில் கொள்கலனுக்கு என்ன பயன்படுத்தப்படுகிறது

பிற செயல்முறைகளிலிருந்து தனிமைப்படுத்தப்பட்ட கொள்கலனை உருவாக்க உங்களை அனுமதிக்கும் முக்கிய தொழில்நுட்பங்கள் பெயர்வெளிகள் மற்றும் கட்டுப்பாட்டு குழுக்கள்.

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

PID பெயர்வெளி செயல்முறைகளை கட்டுப்படுத்துகிறது. உதாரணமாக, நாம் ஒரு PID பெயர்வெளியை உருவாக்கி, அங்கு ஒரு செயல்முறையை வைக்கும்போது, ​​அது PID 1 ஆக மாறும். பொதுவாக கணினிகளில் PID 1 என்பது systemd அல்லது init. அதன்படி, ஒரு செயல்முறையை புதிய பெயர்வெளியில் வைக்கும்போது, ​​அது PID 1ஐயும் பெறுகிறது.

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

கட்டுப்பாட்டு குழுக்கள்: நினைவகம், CPU, IOPS, நெட்வொர்க் - மொத்தம் சுமார் 12 அமைப்புகள். இல்லையெனில் அவை Cgroups ("C-groups") என்றும் அழைக்கப்படுகின்றன.

கட்டுப்பாட்டு குழுக்கள் ஒரு கொள்கலனுக்கான ஆதாரங்களை நிர்வகிக்கின்றன. கட்டுப்பாட்டு குழுக்கள் மூலம், கொள்கலன் ஒரு குறிப்பிட்ட அளவு வளங்களை அதிகமாக உட்கொள்ளக்கூடாது என்று கூறலாம்.

கன்டெய்னரைசேஷன் முழுமையாக வேலை செய்ய, கூடுதல் தொழில்நுட்பங்கள் பயன்படுத்தப்படுகின்றன: திறன்கள், நகல்-ஆன்-ரைட் மற்றும் பிற.

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

நகல்-ஆன்-ரைட் அமைப்பு, டோக்கர் படங்களுடன் வேலை செய்வதற்கும் அவற்றை மிகவும் திறமையாகப் பயன்படுத்துவதற்கும் அனுமதிக்கிறது.

டோக்கருக்கு தற்போது Cgroups v2 உடன் இணக்கத்தன்மை சிக்கல்கள் உள்ளன, எனவே இந்தக் கட்டுரை குறிப்பாக Cgroups v1 இல் கவனம் செலுத்துகிறது.

ஆனால் சரித்திரத்திற்கு வருவோம்.

மெய்நிகராக்க அமைப்புகள் கர்னல் மட்டத்தில் தோன்றியபோது, ​​அவை தீவிரமாகப் பயன்படுத்தத் தொடங்கின. ஹைப்பர்வைசரின் மேல்நிலை மறைந்துவிட்டது, ஆனால் சில சிக்கல்கள் இருந்தன:

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

இந்த பிரச்சனைகளை எல்லாம் தீர்க்க, அடுத்த சகாப்தம் வந்துவிட்டது.

கொள்கலன் சகாப்தம்

கொள்கலன்களின் சகாப்தம் வந்தபோது, ​​அவர்களுடன் பணிபுரியும் தத்துவம் மாறியது:

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

செல்லப்பிராணிகள் மற்றும் கால்நடைகள் பற்றி நான் சொன்னது நினைவிருக்கிறதா? முன்பெல்லாம் வீட்டு விலங்குகள் போல் இருந்த நிகழ்வுகள் இப்போது கால்நடைகள் போல ஆகிவிட்டன. முன்பு, ஒரு மோனோலித் இருந்தது - ஒரு பயன்பாடு. இப்போது அது 100 மைக்ரோ சர்வீஸ்கள், 100 கொள்கலன்கள். சில கொள்கலன்களில் 2-3 பிரதிகள் இருக்கலாம். ஒவ்வொரு கொள்கலனையும் கட்டுப்படுத்துவது நமக்கு குறைவான முக்கியத்துவம் வாய்ந்ததாகிறது. எங்களுக்கு மிகவும் முக்கியமானது சேவையின் கிடைக்கும் தன்மை: இந்த கொள்கலன்களின் தொகுப்பு என்ன செய்கிறது. இது கண்காணிப்பு அணுகுமுறைகளை மாற்றுகிறது.

2014-2015 இல், டோக்கர் செழித்தது - இப்போது நாம் பேசும் தொழில்நுட்பம்.

டோக்கர் தத்துவம் மற்றும் தரப்படுத்தப்பட்ட பயன்பாட்டு பேக்கேஜிங்கை மாற்றினார். டோக்கரைப் பயன்படுத்தி, நாம் ஒரு பயன்பாட்டை தொகுக்கலாம், அதை ஒரு களஞ்சியத்திற்கு அனுப்பலாம், அதை அங்கிருந்து பதிவிறக்கம் செய்யலாம் மற்றும் அதை வரிசைப்படுத்தலாம்.

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

மேல்நிலை பற்றி திசை திருப்புதல்

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

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

முதலாவது PID பெயர்வெளி. நாம் ஒரு பெயர்வெளியில் ஒரு செயல்முறையை வைக்கும் போது, ​​அதற்கு PID 1 ஒதுக்கப்படும். அதே நேரத்தில், இந்த செயல்முறை மற்றொரு PID ஐக் கொண்டுள்ளது, இது கொள்கலனுக்கு வெளியே ஹோஸ்ட் பெயர்வெளியில் அமைந்துள்ளது. எடுத்துக்காட்டாக, நாங்கள் Nginx ஐ ஒரு கொள்கலனில் தொடங்கினோம், அது PID 1 (மாஸ்டர் செயல்முறை) ஆனது. ஹோஸ்டில் PID 12623 உள்ளது. மேலும் இது எவ்வளவு மேல்நிலை என்று சொல்வது கடினம்.

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

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

டோக்கர் கருத்து பற்றி

டோக்கர் பல கூறுகளைக் கொண்டுள்ளது:

  1. Docker Daemon அதே கண்டெய்னர் எஞ்சின்; கொள்கலன்களை ஏவுகிறது.
  2. டோக்கர் சிஐஐ என்பது டோக்கர் மேலாண்மைப் பயன்பாடாகும்.
  3. Dockerfile - ஒரு படத்தை எவ்வாறு உருவாக்குவது என்பதற்கான வழிமுறைகள்.
  4. படம் - கொள்கலன் உருட்டப்பட்ட படம்.
  5. கொள்கலன்.
  6. டோக்கர் ரெஜிஸ்ட்ரி என்பது ஒரு படக் களஞ்சியம்.

திட்டவட்டமாக இது போல் தெரிகிறது:

டோக்கர் என்றால் என்ன: வரலாறு மற்றும் அடிப்படை சுருக்கங்கள் பற்றிய சுருக்கமான பயணம்

டோக்கர் டீமான் Docker_host இல் இயங்குகிறது மற்றும் கொள்கலன்களை அறிமுகப்படுத்துகிறது. கட்டளைகளை அனுப்பும் கிளையண்ட் உள்ளது: படத்தை உருவாக்கவும், படத்தைப் பதிவிறக்கவும், கொள்கலனைத் தொடங்கவும். டோக்கர் டீமான் பதிவேட்டில் சென்று அவற்றை செயல்படுத்துகிறார். டோக்கர் கிளையன்ட் உள்நாட்டில் (யுனிக்ஸ் சாக்கெட்டுக்கு) மற்றும் தொலைநிலை ஹோஸ்டிலிருந்து TCP வழியாக அணுகலாம்.

ஒவ்வொரு கூறுகளையும் கடந்து செல்லலாம்.

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

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

அடிப்படை கட்டளைகள்:

docker ps - டோக்கர் ஹோஸ்டில் தற்போது இயங்கும் கொள்கலன்களைக் காட்டு.
டோக்கர் படங்கள் - உள்நாட்டில் பதிவிறக்கம் செய்யப்பட்ட படங்களைக் காட்டு.
டோக்கர் தேடல் <> - பதிவேட்டில் ஒரு படத்தைத் தேடுங்கள்.
docker pull <> - பதிவேட்டில் இருந்து இயந்திரத்திற்கு ஒரு படத்தைப் பதிவிறக்கவும்.
docker build < > - படத்தை சேகரிக்கவும்.
டோக்கர் ரன் <> - கொள்கலனை துவக்கவும்.
docker rm <> - கொள்கலனை அகற்றவும்.
டோக்கர் பதிவுகள் <> - கொள்கலன் பதிவுகள்
டோக்கர் ஸ்டார்ட்/ஸ்டாப்/ரீஸ்டார்ட் <> - கொள்கலனுடன் வேலை செய்கிறது

இந்தக் கட்டளைகளை நீங்கள் தேர்ச்சி பெற்று, அவற்றைப் பயன்படுத்துவதில் நம்பிக்கையுடன் இருந்தால், பயனர் மட்டத்தில் நீங்கள் டோக்கரில் 70% தேர்ச்சி பெற்றவராக கருதுங்கள்.

டோக்கர்ஃபைல் - ஒரு படத்தை உருவாக்குவதற்கான வழிமுறைகள். ஏறக்குறைய ஒவ்வொரு அறிவுறுத்தல் கட்டளையும் ஒரு புதிய அடுக்கு ஆகும். ஒரு உதாரணத்தைப் பார்ப்போம்.

டோக்கர் என்றால் என்ன: வரலாறு மற்றும் அடிப்படை சுருக்கங்கள் பற்றிய சுருக்கமான பயணம்

Dockerfile இப்படித்தான் இருக்கும்: இடதுபுறத்தில் கட்டளைகள், வலதுபுறத்தில் வாதங்கள். இங்கே இருக்கும் ஒவ்வொரு கட்டளையும் (பொதுவாக Dockerfile இல் எழுதப்பட்டுள்ளது) படத்தில் ஒரு புதிய லேயரை உருவாக்குகிறது.

இடது பக்கம் பார்த்தாலும், என்ன நடக்கிறது என்பதை நீங்கள் தோராயமாக புரிந்து கொள்ளலாம். நாங்கள் சொல்கிறோம்: "எங்களுக்காக ஒரு கோப்புறையை உருவாக்கவும்" - இது ஒரு அடுக்கு. "கோப்புறையை வேலை செய்" என்பது மற்றொரு அடுக்கு, மற்றும் பல. அடுக்கு கேக் வாழ்க்கையை எளிதாக்குகிறது. நான் மற்றொரு Dockerfile ஐ உருவாக்கி, கடைசி வரியில் ஏதாவது மாற்றினால் - "python" "main.py" ஐத் தவிர வேறு ஏதாவது ஒன்றை இயக்குகிறேன், அல்லது மற்றொரு கோப்பிலிருந்து சார்புகளை நிறுவினால் - முந்தைய அடுக்குகள் தற்காலிக சேமிப்பாக மீண்டும் பயன்படுத்தப்படும்.

பட - இது கொள்கலன் பேக்கேஜிங்; கொள்கலன்கள் படத்திலிருந்து தொடங்கப்படுகின்றன. ஒரு தொகுப்பு மேலாளரின் பார்வையில் இருந்து டோக்கரைப் பார்த்தால் (நாம் deb அல்லது rpm தொகுப்புகளுடன் வேலை செய்வது போல்), பின்னர் படம் அடிப்படையில் ஒரு rpm தொகுப்பாகும். yum install மூலம் நாம் அப்ளிகேஷனை நிறுவி, நீக்கி, களஞ்சியத்தில் கண்டுபிடித்து, பதிவிறக்கம் செய்யலாம். இங்கேயும் இதேதான்: படத்திலிருந்து கொள்கலன்கள் தொடங்கப்படுகின்றன, அவை டோக்கர் பதிவேட்டில் சேமிக்கப்படுகின்றன (yum போன்றது, ஒரு களஞ்சியத்தில்), மேலும் ஒவ்வொரு படத்திற்கும் SHA-256 ஹாஷ், பெயர் மற்றும் குறிச்சொல் உள்ளது.

Dockerfile இன் வழிமுறைகளின்படி படம் கட்டப்பட்டுள்ளது. Dockerfile இலிருந்து ஒவ்வொரு அறிவுறுத்தலும் ஒரு புதிய லேயரை உருவாக்குகிறது. அடுக்குகளை மீண்டும் பயன்படுத்தலாம்.

டோக்கர் பதிவு ஒரு டோக்கர் பட களஞ்சியமாகும். OS ஐப் போலவே, Docker ஒரு பொது நிலையான பதிவேட்டைக் கொண்டுள்ளது - dockerhub. ஆனால் நீங்கள் உங்கள் சொந்த களஞ்சியத்தை, உங்கள் சொந்த டோக்கர் பதிவேட்டை உருவாக்கலாம்.

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

"ஒரு கொள்கலன், ஒரு செயல்முறை" தேவை PID பெயர்வெளியுடன் தொடர்புடையது. நேம்ஸ்பேஸில் PID 1 உடன் ஒரு செயல்முறை தொடங்கும் போது, ​​அது திடீரென்று இறந்துவிட்டால், முழு கொள்கலனும் இறந்துவிடும். இரண்டு செயல்முறைகள் அங்கு இயங்கினால்: ஒன்று உயிருடன் உள்ளது, மற்றொன்று இறந்துவிட்டது, பின்னர் கொள்கலன் தொடர்ந்து வாழும். ஆனால் இது சிறந்த நடைமுறைகளின் கேள்வி, அவற்றைப் பற்றி மற்ற பொருட்களில் பேசுவோம்.

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

ஆசிரியர்: மார்செல் இப்ரேவ், சான்றளிக்கப்பட்ட குபெர்னெட்ஸ் நிர்வாகி, சவுத்பிரிட்ஜில் பயிற்சி பொறியாளர், ஸ்லர்ம் படிப்புகளின் பேச்சாளர் மற்றும் டெவலப்பர்.

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

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