இந்த விரிவான வழிகாட்டி மூலம் டாக்கரின் ஆற்றலைத் திறக்கவும். கண்டெய்னரைசேஷன், அதன் நன்மைகள், முக்கிய கருத்துகள் மற்றும் உலகளாவிய மென்பொருள் மேம்பாட்டிற்கான நடைமுறை பயன்பாடுகளை அறிக.
டாக்கர் கண்டெய்னரைசேஷன்: உலகளாவிய டெவலப்பர்களுக்கான ஒரு முழுமையான வழிகாட்டி
இன்றைய வேகமாக வளர்ந்து வரும் தொழில்நுட்ப உலகில், திறமையான மற்றும் சீரான அப்ளிகேஷன் டெப்ளாய்மெண்ட் மிக முக்கியமானது. நீங்கள் ஒரு பன்னாட்டு நிறுவனத்தின் ஒரு பகுதியாக இருந்தாலும் சரி அல்லது ஒரு பரவலாக்கப்பட்ட ஸ்டார்ட்அப் நிறுவனமாக இருந்தாலும் சரி, உங்கள் அப்ளிகேஷன்கள் பல்வேறு சூழல்களில் சீராக இயங்குவதை உறுதி செய்வது ஒரு குறிப்பிடத்தக்க சவாலாகும். இங்குதான் டாக்கர் கண்டெய்னரைசேஷன் வருகிறது, இது அப்ளிகேஷன்களை பேக்கேஜ் செய்வதற்கும், விநியோகிப்பதற்கும், இயக்குவதற்கும் ஒரு தரப்படுத்தப்பட்ட வழியை வழங்குகிறது. இந்த விரிவான வழிகாட்டி டாக்கரின் முக்கிய கருத்துக்கள், உலகளாவிய மேம்பாட்டுக் குழுக்களுக்கான அதன் நன்மைகள் மற்றும் நீங்கள் தொடங்குவதற்கான நடைமுறைப் படிகள் ஆகியவற்றை ஆராயும்.
டாக்கர் என்றால் என்ன, அது ஏன் மென்பொருள் மேம்பாட்டில் புரட்சியை ஏற்படுத்துகிறது?
அதன் மையத்தில், டாக்கர் என்பது ஒரு ஓப்பன்-சோர்ஸ் தளம் ஆகும், இது கண்டெய்னர்கள் எனப்படும் இலகுரக, கையடக்க அலகுகளுக்குள் அப்ளிகேஷன்களை டெப்ளாய் செய்வது, அளவிடுவது மற்றும் நிர்வகிப்பதை தானியக்கமாக்குகிறது. ஒரு கண்டெய்னரை ஒரு அப்ளிகேஷன் இயங்குவதற்குத் தேவையான அனைத்தையும் உள்ளடக்கிய ஒரு தன்னிறைவான தொகுப்பாக நினைத்துப் பாருங்கள்: குறியீடு, ரன்டைம், சிஸ்டம் கருவிகள், சிஸ்டம் லைப்ரரிகள் மற்றும் அமைப்புகள். இந்தத் தனிமைப்படுத்தல், அப்ளிகேஷன் அதன் உள்கட்டமைப்பைப் பொருட்படுத்தாமல் ஒரே மாதிரியாக செயல்படுவதை உறுதிசெய்கிறது, இது "என் மெஷினில் இது வேலை செய்கிறது" என்ற பழமையான சிக்கலைத் தீர்க்கிறது.
பாரம்பரியமாக, அப்ளிகேஷன்களை டெப்ளாய் செய்வதில் சிக்கலான உள்ளமைவுகள், சார்புநிலை மேலாண்மை மற்றும் வெவ்வேறு மென்பொருள் பதிப்புகளுக்கு இடையிலான சாத்தியமான முரண்பாடுகள் ஆகியவை அடங்கும். வெவ்வேறு இயக்க முறைமைகளைப் பயன்படுத்தும் அல்லது மாறுபட்ட மேம்பாட்டுச் சூழல்களைக் கொண்ட உலகளாவிய குழுக்களுக்கு இது குறிப்பாக சவாலாக இருந்தது. டாக்கர் இந்தச் சிக்கல்களை அதன் உள்கட்டமைப்பை மறைப்பதன் மூலம் நேர்த்தியாகத் தவிர்க்கிறது.
உலகளாவிய அணிகளுக்கு டாக்கரின் முக்கிய நன்மைகள்:
- சூழல்களில் சீரான தன்மை: டாக்கர் கண்டெய்னர்கள் ஒரு அப்ளிகேஷன் மற்றும் அதன் சார்புநிலைகளை ஒன்றாக தொகுக்கின்றன. இதன் பொருள், ஒரு டெவலப்பரின் லேப்டாப்பில் உள்ள கண்டெய்னரில் கட்டமைக்கப்பட்டு சோதிக்கப்பட்ட ஒரு அப்ளிகேஷன், சோதனை சர்வர், தயாரிப்பு சர்வர் அல்லது கிளவுடில் கூட, ஹோஸ்ட் இயக்க முறைமை அல்லது முன்பே நிறுவப்பட்ட மென்பொருளைப் பொருட்படுத்தாமல் ஒரே மாதிரியாக இயங்கும். இந்த சீரான தன்மை, பரவலாக்கப்பட்ட அணிகளுக்கு ஒரு திருப்புமுனையாகும், இது ஒருங்கிணைப்புச் சிக்கல்களையும் டெப்ளாய்மெண்ட் பிழைகளையும் குறைக்கிறது.
- கையடக்கத்தன்மை: டாக்கர் நிறுவப்பட்ட எந்த அமைப்பிலும் டாக்கர் கண்டெய்னர்கள் இயங்க முடியும் - அது ஒரு டெவலப்பரின் லேப்டாப் (Windows, macOS, Linux), ஒரு மெய்நிகர் இயந்திரம் அல்லது கிளவுட் சர்வர் ஆக இருக்கலாம். இது செலவுமிக்க மறு உள்ளமைவுகள் இல்லாமல் வெவ்வேறு சூழல்கள் மற்றும் கிளவுட் வழங்குநர்களுக்கு இடையில் அப்ளிகேஷன்களை நகர்த்துவதை நம்பமுடியாத அளவிற்கு எளிதாக்குகிறது.
- திறன் மற்றும் வேகம்: கண்டெய்னர்கள் பாரம்பரிய மெய்நிகர் இயந்திரங்களை விட கணிசமாக இலகுவானவை மற்றும் வேகமாக தொடங்கக்கூடியவை. அவை ஹோஸ்ட் இயக்க முறைமையின் கர்னலைப் பகிர்ந்து கொள்கின்றன, அதாவது ஒவ்வொரு அப்ளிகேஷனுக்கும் ஒரு முழு இயக்க முறைமையை நிறுவத் தேவையில்லை. இது வேகமான தொடக்க நேரங்கள், குறைந்த வள நுகர்வு மற்றும் ஒரே ஹோஸ்டில் அதிக எண்ணிக்கையிலான அப்ளிகேஷன்களின் அடர்த்திக்கு வழிவகுக்கிறது.
- தனிமைப்படுத்தல்: ஒவ்வொரு கண்டெய்னரும் மற்ற கண்டெய்னர்கள் மற்றும் ஹோஸ்ட் அமைப்பிலிருந்து தனிமையில் இயங்குகிறது. இந்தத் தனிமைப்படுத்தல் சார்புநிலை முரண்பாடுகளைத் தடுக்கிறது மற்றும் பாதுகாப்பை மேம்படுத்துகிறது, ஏனெனில் ஒரு கண்டெய்னருக்குள் உள்ள செயல்முறைகள் மற்றொன்றில் உள்ள செயல்முறைகளில் தலையிட முடியாது.
- எளிமைப்படுத்தப்பட்ட சார்புநிலை மேலாண்மை: டாக்கர்ஃபைல்கள் (இதை நாம் பின்னர் விவாதிப்போம்) அனைத்து சார்புநிலைகளையும் வெளிப்படையாக வரையறுக்கின்றன, இதன் மூலம் லைப்ரரிகள் மற்றும் ரன்டைம்களின் சரியான பதிப்புகள் எப்போதும் கண்டெய்னருக்குள் இருப்பதை உறுதி செய்கிறது. இது டெவலப்பர்களுக்கான யூகங்களையும் "சார்புநிலைச் சிக்கல்களையும்" நீக்குகிறது.
- வேகமான மேம்பாட்டுச் சுழற்சிகள்: உருவாக்கம், சோதனை மற்றும் டெப்ளாய்மெண்ட் செயல்முறையை நெறிப்படுத்துவதன் மூலம், டாக்கர் வேகமான மறு செய்கை மற்றும் விரைவான வெளியீடுகளை செயல்படுத்துகிறது. டெவலப்பர்கள் புதிய சூழல்களை விரைவாகத் தொடங்கலாம், குறியீட்டைச் சோதிக்கலாம் மற்றும் அதிக நம்பிக்கையுடன் புதுப்பிப்புகளை டெப்ளாய் செய்யலாம்.
- அளவிடக்கூடிய தன்மை: டாக்கர், குபெர்னெடிஸ் போன்ற ஒருங்கிணைப்புக் கருவிகளுடன் தடையின்றி ஒருங்கிணைக்கிறது, அவை பெரிய அளவிலான கண்டெய்னரைஸ்டு அப்ளிகேஷன்களை நிர்வகிக்க வடிவமைக்கப்பட்டுள்ளன. இது தேவைக்கேற்ப அப்ளிகேஷன்களை எளிதாக அளவிட அனுமதிக்கிறது, இது வெவ்வேறு பிராந்தியங்களில் இருந்து ஏற்ற இறக்கமான பயனர் சுமைகளை அனுபவிக்கும் உலகளாவிய சேவைகளுக்கு ஒரு முக்கியமான அம்சமாகும்.
முக்கிய டாக்கர் கருத்துகள் விளக்கப்பட்டுள்ளன
டாக்கரை திறம்பட பயன்படுத்த, அதன் அடிப்படைக் கூறுகளைப் புரிந்துகொள்வது அவசியம்.
1. டாக்கர் இமேஜ்
ஒரு டாக்கர் இமேஜ் என்பது டாக்கர் கண்டெய்னர்களை உருவாக்கப் பயன்படுத்தப்படும் ஒரு படிக்க-மட்டும் டெம்ப்ளேட் ஆகும். இது அடிப்படையில் ஒரு அப்ளிகேஷன் மற்றும் ஒரு குறிப்பிட்ட நேரத்தில் அதன் சூழலின் ஸ்னாப்ஷாட் ஆகும். இமேஜ்கள் அடுக்குகளில் உருவாக்கப்படுகின்றன, அங்கு ஒரு டாக்கர்ஃபைலில் உள்ள ஒவ்வொரு அறிவுறுத்தலும் (எ.கா., ஒரு பேக்கேஜை நிறுவுதல், கோப்புகளை நகலெடுத்தல்) ஒரு புதிய அடுக்கை உருவாக்குகிறது. இந்த அடுக்கு அணுகுமுறை திறமையான சேமிப்பகத்தையும் வேகமான உருவாக்க நேரங்களையும் அனுமதிக்கிறது, ஏனெனில் டாக்கர் முந்தைய உருவாக்கங்களிலிருந்து மாற்றப்படாத அடுக்குகளை மீண்டும் பயன்படுத்த முடியும்.
இமேஜ்கள் ரெஜிஸ்ட்ரிகளில் சேமிக்கப்படுகின்றன, இதில் டாக்கர் ஹப் மிகவும் பிரபலமான பொது ரெஜிஸ்ட்ரியாகும். நீங்கள் ஒரு இமேஜை ஒரு வரைபடமாகவும், ஒரு கண்டெய்னரை அந்த வரைபடத்தின் ஒரு நிகழ்வாகவும் நினைக்கலாம்.
2. டாக்கர்ஃபைல்
டாக்கர்ஃபைல் என்பது ஒரு டாக்கர் இமேஜை உருவாக்குவதற்கான வழிமுறைகளின் தொகுப்பைக் கொண்ட ஒரு எளிய உரை கோப்பு ஆகும். இது பயன்படுத்த வேண்டிய அடிப்படை இமேஜ், செயல்படுத்த வேண்டிய கட்டளைகள், நகலெடுக்க வேண்டிய கோப்புகள், வெளிப்படுத்த வேண்டிய போர்ட்கள் மற்றும் பலவற்றைக் குறிப்பிடுகிறது. டாக்கர் இந்த டாக்கர்ஃபைலைப் படித்து, இமேஜை உருவாக்க இந்த வழிமுறைகளை வரிசையாக செயல்படுத்துகிறது.
ஒரு எளிய டாக்கர்ஃபைல் இப்படி இருக்கலாம்:
# ஒரு அதிகாரப்பூர்வ பைத்தான் ரன்டைமை பெற்றோர் இமேஜாகப் பயன்படுத்தவும்
FROM python:3.9-slim
# கண்டெய்னரில் வேலை செய்யும் டைரக்டரியை அமைக்கவும்
WORKDIR /app
# தற்போதைய டைரக்டரி உள்ளடக்கங்களை கண்டெய்னரில் /app என்பதற்குள் நகலெடுக்கவும்
COPY . /app
# requirements.txt இல் குறிப்பிடப்பட்டுள்ள தேவையான பேக்கேஜ்களை நிறுவவும்
RUN pip install --no-cache-dir -r requirements.txt
# இந்த கண்டெய்னருக்கு வெளியே போர்ட் 80-ஐ கிடைக்கச் செய்யவும்
EXPOSE 80
# கண்டெய்னர் தொடங்கும் போது app.py-ஐ இயக்கவும்
CMD ["python", "app.py"]
இந்த டாக்கர்ஃபைல் பின்வரும் ஒரு இமேஜை வரையறுக்கிறது:
- ஒரு இலகுரக பைத்தான் 3.9 இமேஜிலிருந்து தொடங்குகிறது.
- வேலை செய்யும் டைரக்டரியை
/app
என அமைக்கிறது. - அப்ளிகேஷன் குறியீட்டை (ஹோஸ்டில் உள்ள தற்போதைய டைரக்டரியிலிருந்து) கண்டெய்னருக்குள் உள்ள
/app
டைரக்டரிக்கு நகலெடுக்கிறது. requirements.txt
இல் பட்டியலிடப்பட்டுள்ள பைத்தான் சார்புநிலைகளை நிறுவுகிறது.- நெட்வொர்க் அணுகலுக்காக போர்ட் 80-ஐ வெளிப்படுத்துகிறது.
- கண்டெய்னர் தொடங்கும் போது
app.py
ஐ இயக்க வேண்டும் என்று குறிப்பிடுகிறது.
3. டாக்கர் கண்டெய்னர்
ஒரு டாக்கர் கண்டெய்னர் என்பது ஒரு டாக்கர் இமேஜின் இயங்கக்கூடிய நிகழ்வாகும். நீங்கள் ஒரு டாக்கர் இமேஜை இயக்கும்போது, அது ஒரு கண்டெய்னரை உருவாக்குகிறது. நீங்கள் கண்டெய்னர்களைத் தொடங்கலாம், நிறுத்தலாம், நகர்த்தலாம் மற்றும் நீக்கலாம். ஒரே இமேஜிலிருந்து பல கண்டெய்னர்களை இயக்க முடியும், ஒவ்வொன்றும் தனித்தனியாக இயங்கும்.
கண்டெய்னர்களின் முக்கிய பண்புகள் பின்வருமாறு:
- இயல்பாகவே தற்காலிகமானவை: கண்டெய்னர்கள் அப்புறப்படுத்தக்கூடியவையாக வடிவமைக்கப்பட்டுள்ளன. ஒரு கண்டெய்னர் நிறுத்தப்பட்டாலோ அல்லது அகற்றப்பட்டாலோ, அதன் கோப்பு முறைமையில் எழுதப்பட்ட எந்த தரவும் நீடித்த சேமிப்பு வழிமுறைகள் பயன்படுத்தப்படாவிட்டால் இழக்கப்படும்.
- செயல்முறைத் தனிமைப்படுத்தல்: ஒவ்வொரு கண்டெய்னருக்கும் அதன் சொந்த கோப்பு முறைமை, நெட்வொர்க் இடைமுகங்கள் மற்றும் செயல்முறை இடம் உள்ளது.
- பகிரப்பட்ட கர்னல்: கண்டெய்னர்கள் ஹோஸ்ட் இயந்திரத்தின் இயக்க முறைமை கர்னலைப் பகிர்ந்து கொள்கின்றன, இது அவற்றை மெய்நிகர் இயந்திரங்களை விட மிகவும் திறமையானதாக ஆக்குகிறது.
4. டாக்கர் ரெஜிஸ்ட்ரி
டாக்கர் ரெஜிஸ்ட்ரி என்பது டாக்கர் இமேஜ்களை சேமிப்பதற்கும் விநியோகிப்பதற்குமான ஒரு களஞ்சியமாகும். டாக்கர் ஹப் என்பது இயல்புநிலை பொது ரெஜிஸ்ட்ரியாகும், அங்கு நீங்கள் பல்வேறு நிரலாக்க மொழிகள், தரவுத்தளங்கள் மற்றும் அப்ளிகேஷன்களுக்கான முன்பே கட்டமைக்கப்பட்ட இமேஜ்களின் பரந்த தொகுப்பைக் காணலாம். உங்கள் நிறுவனத்தின் தனியுரிம இமேஜ்களுக்காக நீங்கள் தனிப்பட்ட ரெஜிஸ்ட்ரிகளையும் அமைக்கலாம்.
docker run ubuntu
போன்ற கட்டளையை நீங்கள் இயக்கும்போது, டாக்கர் முதலில் உங்கள் உள்ளூர் இயந்திரத்தில் உபுண்டு இமேஜை சரிபார்க்கிறது. அது காணப்படவில்லை என்றால், அது ஒரு கட்டமைக்கப்பட்ட ரெஜிஸ்ட்ரியிலிருந்து (இயல்பாக, டாக்கர் ஹப்) இமேஜை இழுக்கிறது.
5. டாக்கர் எஞ்சின்
டாக்கர் எஞ்சின் என்பது டாக்கர் கண்டெய்னர்களை உருவாக்கும் மற்றும் இயக்கும் அடிப்படை கிளையன்ட்-சர்வர் தொழில்நுட்பமாகும். இது பின்வருவனவற்றைக் கொண்டுள்ளது:
- ஒரு டீமான் (
dockerd
): இமேஜ்கள், கண்டெய்னர்கள், நெட்வொர்க்குகள் மற்றும் வால்யூம்கள் போன்ற டாக்கர் பொருட்களை நிர்வகிக்கும் ஒரு நீண்டகால பின்னணி செயல்முறை. - ஒரு REST API: டீமானுடன் தொடர்பு கொள்ள நிரல்கள் பயன்படுத்தக்கூடிய ஒரு இடைமுகம்.
- ஒரு CLI (
docker
): டீமான் மற்றும் அதன் API உடன் பயனர்கள் தொடர்பு கொள்ள அனுமதிக்கும் ஒரு கட்டளை-வரி இடைமுகம்.
டாக்கருடன் தொடங்குதல்: ஒரு நடைமுறை வழிகாட்டி
சில அத்தியாவசிய டாக்கர் கட்டளைகள் மற்றும் ஒரு பொதுவான பயன்பாட்டு வழக்கத்தைப் பார்ப்போம்.
நிறுவுதல்
முதல் படி உங்கள் கணினியில் டாக்கரை நிறுவுவது. அதிகாரப்பூர்வ டாக்கர் வலைத்தளத்திற்குச் சென்று ([docker.com](https://www.docker.com/)) உங்கள் இயக்க முறைமைக்கு (Windows, macOS, அல்லது Linux) பொருத்தமான நிறுவியை பதிவிறக்கவும். உங்கள் தளத்திற்கான நிறுவல் வழிமுறைகளைப் பின்பற்றவும்.
அடிப்படை டாக்கர் கட்டளைகள்
நீங்கள் தவறாமல் பயன்படுத்தும் சில அடிப்படைக் கட்டளைகள் இங்கே:
docker pull <image_name>:<tag>
: ஒரு ரெஜிஸ்ட்ரியிலிருந்து ஒரு இமேஜை பதிவிறக்குகிறது. எடுத்துக்காட்டு:docker pull ubuntu:latest
docker build -t <image_name>:<tag> .
: தற்போதைய டைரக்டரியில் உள்ள ஒரு டாக்கர்ஃபைலில் இருந்து ஒரு இமேஜை உருவாக்குகிறது.-t
கொடி இமேஜை டேக் செய்கிறது. எடுத்துக்காட்டு:docker build -t my-python-app:1.0 .
docker run <image_name>:<tag>
: ஒரு இமேஜிலிருந்து ஒரு கண்டெய்னரை உருவாக்கித் தொடங்குகிறது. எடுத்துக்காட்டு:docker run -p 8080:80 my-python-app:1.0
(-p
கொடி ஹோஸ்ட் போர்ட் 8080-ஐ கண்டெய்னர் போர்ட் 80-க்கு மேப் செய்கிறது).docker ps
: இயங்கும் அனைத்து கண்டெய்னர்களையும் பட்டியலிடுகிறது.docker ps -a
: நிறுத்தப்பட்டவை உட்பட அனைத்து கண்டெய்னர்களையும் பட்டியலிடுகிறது.docker stop <container_id_or_name>
: இயங்கும் கண்டெய்னரை நிறுத்துகிறது.docker start <container_id_or_name>
: நிறுத்தப்பட்ட கண்டெய்னரைத் தொடங்குகிறது.docker rm <container_id_or_name>
: நிறுத்தப்பட்ட கண்டெய்னரை நீக்குகிறது.docker rmi <image_id_or_name>
: ஒரு இமேஜை நீக்குகிறது.docker logs <container_id_or_name>
: ஒரு கண்டெய்னரின் பதிவுகளைப் பெறுகிறது.docker exec -it <container_id_or_name> <command>
: இயங்கும் கண்டெய்னருக்குள் ஒரு கட்டளையை இயக்குகிறது. எடுத்துக்காட்டு:docker exec -it my-container bash
கண்டெய்னருக்குள் ஒரு ஷெல்லைப் பெற.
எடுத்துக்காட்டு: ஒரு எளிய வலை சேவையகத்தை இயக்குதல்
Flask கட்டமைப்பைப் பயன்படுத்தி ஒரு அடிப்படை பைத்தான் வலை சேவையகத்தை கண்டெய்னரைஸ் செய்வோம்.
1. திட்ட அமைப்பு:
உங்கள் திட்டத்திற்காக ஒரு டைரக்டரியை உருவாக்கவும். இந்த டைரக்டரிக்குள், இரண்டு கோப்புகளை உருவாக்கவும்:
app.py
:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from a Dockerized Flask App!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=80)
requirements.txt
:
Flask==2.0.0
2. டாக்கர்ஃபைலை உருவாக்கவும்:
அதே திட்ட டைரக்டரியில், பின்வரும் உள்ளடக்கத்துடன் Dockerfile
(நீட்டிப்பு இல்லை) என்ற கோப்பை உருவாக்கவும்:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 80
CMD ["python", "app.py"]
3. டாக்கர் இமேஜை உருவாக்கவும்:
உங்கள் டெர்மினலைத் திறந்து, திட்ட டைரக்டரிக்குச் சென்று, இயக்கவும்:
docker build -t my-flask-app:latest .
இந்தக் கட்டளை டாக்கருக்கு தற்போதைய டைரக்டரியில் உள்ள Dockerfile
-ஐப் பயன்படுத்தி ஒரு இமேஜை உருவாக்கி அதை my-flask-app:latest
என்று டேக் செய்யச் சொல்கிறது.
4. டாக்கர் கண்டெய்னரை இயக்கவும்:
இப்போது, நீங்கள் உருவாக்கிய இமேஜிலிருந்து கண்டெய்னரை இயக்கவும்:
docker run -d -p 5000:80 my-flask-app:latest
கொடைகளின் விளக்கம்:
-d
: கண்டெய்னரை பற்றற்ற முறையில் (பின்னணியில்) இயக்குகிறது.-p 5000:80
: உங்கள் ஹோஸ்ட் கணினியில் உள்ள போர்ட் 5000-ஐ கண்டெய்னருக்குள் உள்ள போர்ட் 80-க்கு மேப் செய்கிறது.
5. அப்ளிகேஷனை சோதிக்கவும்:
உங்கள் வலை உலாவியைத் திறந்து http://localhost:5000
என்பதற்குச் செல்லவும். நீங்கள் "Hello from a Dockerized Flask App!" என்ற செய்தியைக் காண வேண்டும்.
கண்டெய்னர் இயங்குவதைக் காண, docker ps
ஐப் பயன்படுத்தவும். அதை நிறுத்த, docker stop <container_id>
ஐப் பயன்படுத்தவும் (<container_id>
ஐ docker ps
காட்டும் ஐடியுடன் மாற்றவும்).
உலகளாவிய டெப்ளாய்மெண்டிற்கான மேம்பட்ட டாக்கர் கருத்துகள்
உங்கள் திட்டங்கள் வளரும்போதும் உங்கள் குழுக்கள் மேலும் பரவலாக்கப்படும்போதும், நீங்கள் மேலும் மேம்பட்ட டாக்கர் அம்சங்களை ஆராய விரும்புவீர்கள்.
டாக்கர் கம்போஸ்
பல சேவைகளைக் கொண்ட அப்ளிகேஷன்களுக்கு (எ.கா., ஒரு வலை முன்-இறுதி, ஒரு பின்தள ஏபிஐ மற்றும் ஒரு தரவுத்தளம்), தனிப்பட்ட கண்டெய்னர்களை நிர்வகிப்பது சிரமமாக மாறும். டாக்கர் கம்போஸ் என்பது பல-கண்டெய்னர் டாக்கர் அப்ளிகேஷன்களை வரையறுப்பதற்கும் இயக்குவதற்குமான ஒரு கருவியாகும். உங்கள் அப்ளிகேஷனின் சேவைகள், நெட்வொர்க்குகள் மற்றும் வால்யூம்களை ஒரு YAML கோப்பில் (docker-compose.yml
) வரையறுக்கிறீர்கள், மேலும் ஒரே கட்டளையின் மூலம், உங்கள் எல்லா சேவைகளையும் உருவாக்கித் தொடங்கலாம்.
ஒரு Redis கேச் கொண்ட ஒரு எளிய வலைப் பயன்பாட்டிற்கான மாதிரி docker-compose.yml
இப்படி இருக்கலாம்:
version: '3.8'
services:
web:
build: .
ports:
- "5000:80"
volumes:
- .:/app
depends_on:
- redis
redis:
image: "redis:alpine"
இந்தக் கோப்புடன், நீங்கள் docker-compose up
மூலம் இரண்டு சேவைகளையும் தொடங்கலாம்.
நீடித்த தரவுகளுக்கான வால்யூம்கள்
குறிப்பிட்டபடி, கண்டெய்னர்கள் தற்காலிகமானவை. நீங்கள் ஒரு தரவுத்தளத்தை இயக்குகிறீர்கள் என்றால், கண்டெய்னரின் வாழ்க்கைச் சுழற்சிக்கு அப்பால் தரவை நிலைநிறுத்த விரும்புவீர்கள். டாக்கர் வால்யூம்கள் டாக்கர் கண்டெய்னர்களால் உருவாக்கப்படும் மற்றும் பயன்படுத்தப்படும் தரவை நிலைநிறுத்துவதற்கான விருப்பமான வழிமுறையாகும். வால்யூம்கள் டாக்கரால் நிர்வகிக்கப்படுகின்றன மற்றும் கண்டெய்னரின் எழுதக்கூடிய அடுக்குக்கு வெளியே சேமிக்கப்படுகின்றன.
ஒரு கண்டெய்னரை இயக்கும்போது ஒரு வால்யூமை இணைக்க:
docker run -v my-data-volume:/var/lib/mysql mysql:latest
இந்தக் கட்டளை my-data-volume
என்ற வால்யூமை உருவாக்கி, அதை MySQL கண்டெய்னருக்குள் /var/lib/mysql
க்கு மவுண்ட் செய்கிறது, உங்கள் தரவுத்தள தரவு நிலைத்திருப்பதை உறுதி செய்கிறது.
டாக்கர் நெட்வொர்க்குகள்
இயல்பாக, ஒவ்வொரு டாக்கர் கண்டெய்னரும் அதன் சொந்த நெட்வொர்க் நேம்ஸ்பேஸைப் பெறுகிறது. கண்டெய்னர்களுக்கு இடையில் தொடர்பை இயக்க, நீங்கள் ஒரு நெட்வொர்க்கை உருவாக்கி உங்கள் கண்டெய்னர்களை அதனுடன் இணைக்க வேண்டும். டாக்கர் பல நெட்வொர்க்கிங் டிரைவர்களை வழங்குகிறது, இதில் bridge
நெட்வொர்க் ஒற்றை-ஹோஸ்ட் டெப்ளாய்மெண்ட்களுக்கு மிகவும் பொதுவானது.
நீங்கள் டாக்கர் கம்போஸைப் பயன்படுத்தும்போது, அது தானாகவே உங்கள் சேவைகளுக்கு ஒரு இயல்புநிலை நெட்வொர்க்கை உருவாக்குகிறது, அவை அவற்றின் சேவைப் பெயர்களைப் பயன்படுத்தி தொடர்பு கொள்ள அனுமதிக்கிறது.
டாக்கர் ஹப் மற்றும் தனிப்பட்ட ரெஜிஸ்ட்ரிகள்
உங்கள் குழுவிற்குள் அல்லது பொதுமக்களுடன் இமேஜ்களைப் பகிர்வதற்கு டாக்கர் ஹப்பைப் பயன்படுத்துவது முக்கியம். தனியுரிம அப்ளிகேஷன்களுக்கு, பாதுகாப்பு மற்றும் கட்டுப்படுத்தப்பட்ட அணுகலுக்கு ஒரு தனிப்பட்ட ரெஜிஸ்ட்ரியை அமைப்பது அவசியம். அமேசான் எலாஸ்டிக் கண்டெய்னர் ரெஜிஸ்ட்ரி (ECR), கூகிள் கண்டெய்னர் ரெஜிஸ்ட்ரி (GCR), மற்றும் அஸூர் கண்டெய்னர் ரெஜிஸ்ட்ரி (ACR) போன்ற கிளவுட் வழங்குநர்கள் நிர்வகிக்கப்பட்ட தனிப்பட்ட ரெஜிஸ்ட்ரி சேவைகளை வழங்குகிறார்கள்.
பாதுகாப்பு சிறந்த நடைமுறைகள்
டாக்கர் தனிமைப்படுத்தலை வழங்கினாலும், பாதுகாப்பு ஒரு தொடர்ச்சியான கவலையாகும், குறிப்பாக உலகளாவிய சூழலில்:
- டாக்கரையும் இமேஜ்களையும் புதுப்பித்த நிலையில் வைத்திருங்கள்: அறியப்பட்ட பாதிப்புகளை சரிசெய்ய உங்கள் டாக்கர் எஞ்சின் மற்றும் அடிப்படை இமேஜ்களை தவறாமல் புதுப்பிக்கவும்.
- குறைந்தபட்ச அடிப்படை இமேஜ்களைப் பயன்படுத்துங்கள்: தாக்குதல் பரப்பைக் குறைக்க Alpine Linux போன்ற இலகுரக இமேஜ்களைத் தேர்ந்தெடுக்கவும்.
- பாதிப்புகளுக்கு இமேஜ்களை ஸ்கேன் செய்யுங்கள்: Trivy அல்லது டாக்கரின் உள்ளமைக்கப்பட்ட ஸ்கேனர் போன்ற கருவிகள் உங்கள் இமேஜ்களில் அறியப்பட்ட பாதிப்புகளை அடையாளம் காண உதவும்.
- குறைந்தபட்ச சிறப்புரிமையுடன் கண்டெய்னர்களை இயக்கவும்: முடிந்தவரை ரூட்டாக கண்டெய்னர்களை இயக்குவதைத் தவிர்க்கவும்.
- ரகசியங்களை பாதுகாப்பாக நிர்வகிக்கவும்: முக்கியமான தகவல்களை (API விசைகள் அல்லது கடவுச்சொற்கள் போன்றவை) டாக்கர்ஃபைல்கள் அல்லது இமேஜ்களில் நேரடியாக ஹார்ட்கோட் செய்யாதீர்கள். டாக்கர் ரகசியங்கள் அல்லது ஆர்கெஸ்ட்ரேஷன் கருவிகளால் நிர்வகிக்கப்படும் சூழல் மாறிகளைப் பயன்படுத்தவும்.
ஒரு உலகளாவிய சூழலில் டாக்கர்: மைக்ரோசர்விசஸ் மற்றும் சிஐ/சிடி
டாக்கர் நவீன மென்பொருள் கட்டமைப்பின் ஒரு மூலக்கல்லாக மாறியுள்ளது, குறிப்பாக மைக்ரோசர்விசஸ் மற்றும் தொடர்ச்சியான ஒருங்கிணைப்பு/தொடர்ச்சியான டெப்ளாய்மெண்ட் (CI/CD) பைப்லைன்களுக்கு.
மைக்ரோசர்விசஸ் கட்டமைப்பு
மைக்ரோசர்விசஸ் ஒரு பெரிய அப்ளிகேஷனை ஒரு நெட்வொர்க்கில் தொடர்பு கொள்ளும் சிறிய, சுதந்திரமான சேவைகளாக உடைக்கிறது. ஒவ்வொரு மைக்ரோசர்விசும் சுதந்திரமாக உருவாக்கப்பட்டு, டெப்ளாய் செய்யப்பட்டு, அளவிடப்படலாம். டாக்கர் இந்த கட்டமைப்புக்கு ஒரு சிறந்த பொருத்தம்:
- சுதந்திரமான டெப்ளாய்மெண்ட்: ஒவ்வொரு மைக்ரோசர்விசும் அதன் சொந்த டாக்கர் கண்டெய்னரில் தொகுக்கப்படலாம், இது மற்ற சேவைகளைப் பாதிக்காமல் சுதந்திரமான புதுப்பிப்புகள் மற்றும் டெப்ளாய்மெண்ட்களை அனுமதிக்கிறது.
- தொழில்நுட்ப பன்முகத்தன்மை: ஒவ்வொரு கண்டெய்னரும் அதன் சொந்த சார்புநிலைகளை உள்ளடக்கியிருப்பதால், வெவ்வேறு மைக்ரோசர்விசுகள் வெவ்வேறு நிரலாக்க மொழிகள் மற்றும் கட்டமைப்புகளைப் பயன்படுத்தி உருவாக்கப்படலாம். இந்த சுதந்திரம் உலகளாவிய குழுக்களை ஒவ்வொரு வேலைக்கும் சிறந்த கருவியைத் தேர்வு செய்ய அனுமதிக்கிறது.
- அளவிடக்கூடிய தன்மை: தனிப்பட்ட மைக்ரோசர்விசுகள் அவற்றின் குறிப்பிட்ட சுமைக்கு ஏற்ப அளவிடப்படலாம், இது வள பயன்பாடு மற்றும் செயல்திறனை மேம்படுத்துகிறது.
சிஐ/சிடி பைப்லைன்கள்
சிஐ/சிடி மென்பொருள் விநியோக செயல்முறையை தானியக்கமாக்குகிறது, அடிக்கடி மற்றும் நம்பகமான அப்ளிகேஷன் புதுப்பிப்புகளை செயல்படுத்துகிறது. டாக்கர் சிஐ/சிடி-யில் ஒரு முக்கிய பங்கு வகிக்கிறது:
- சீரான உருவாக்கச் சூழல்கள்: டாக்கர் கண்டெய்னர்கள் குறியீட்டை உருவாக்குவதற்கும் சோதிப்பதற்கும் ஒரு சீரான சூழலை வழங்குகின்றன, வளர்ச்சி, சோதனை மற்றும் ஸ்டேஜிங் சூழல்களில் "என் மெஷினில் வேலை செய்கிறது" சிக்கல்களை நீக்குகிறது.
- தானியங்கு சோதனை: டாக்கர் தானியங்கு சோதனைக்காக சார்புநிலை சேவைகளை (தரவுத்தளங்கள் அல்லது செய்தி வரிசைகள் போன்றவை) கண்டெய்னர்களாகத் தொடங்க உதவுகிறது, சோதனைகள் ஒரு கணிக்கக்கூடிய சூழலில் இயக்கப்படுவதை உறுதி செய்கிறது.
- நெறிப்படுத்தப்பட்ட டெப்ளாய்மெண்ட்: ஒரு இமேஜ் உருவாக்கப்பட்டு சோதிக்கப்பட்டவுடன், அதை நம்பகத்தன்மையுடன் உற்பத்திச் சூழல்களுக்கு டெப்ளாய் செய்யலாம், அது ஆன்-பிரைமிஸ், ஒரு தனியார் கிளவுட் அல்லது ஒரு பொது கிளவுட் உள்கட்டமைப்பாக இருந்தாலும் சரி. ஜென்கின்ஸ், GitLab CI, GitHub Actions, மற்றும் CircleCI போன்ற கருவிகள் அனைத்தும் சிஐ/சிடி பணிப்பாய்வுகளுக்காக டாக்கருடன் தடையின்றி ஒருங்கிணைக்கப்படுகின்றன.
சர்வதேசமயமாக்கல் மற்றும் உள்ளூர்மயமாக்கல் பரிசீலனைகள்
உலகளாவிய அப்ளிகேஷன்களுக்கு, டாக்கர் சர்வதேசமயமாக்கல் (i18n) மற்றும் உள்ளூர்மயமாக்கல் (l10n) ஆகியவற்றின் அம்சங்களையும் எளிதாக்க முடியும்:
- லொகேல் மேலாண்மை: உங்கள் அப்ளிகேஷன் தேதிகள், எண்களை வடிவமைக்க அல்லது உள்ளூர்மயமாக்கப்பட்ட உரையைக் காண்பிக்க அவற்றைப் பொறுத்திருந்தால், உங்கள் டாக்கர் இமேஜ்களுக்குள் சரியான லொகேல் அமைப்புகள் உள்ளமைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும்.
- பிராந்திய டெப்ளாய்மெண்ட்கள்: டாக்கர் இமேஜ்களை உங்கள் பயனர்களுக்கு மிக அருகில் உள்ள கிளவுட் பிராந்தியங்களுக்கு டெப்ளாய் செய்யலாம், இது தாமதத்தைக் குறைத்து உலகளாவிய பார்வையாளர்களுக்கான பயனர் அனுபவத்தை மேம்படுத்துகிறது.
கண்டெய்னர்களை ஒருங்கிணைத்தல்: குபெர்னெடிஸின் பங்கு
டாக்கர் தனிப்பட்ட கண்டெய்னர்களை தொகுப்பதற்கும் இயக்குவதற்கும் சிறந்தது என்றாலும், பல கணினிகளில் அதிக எண்ணிக்கையிலான கண்டெய்னர்களை நிர்வகிக்க ஒருங்கிணைப்பு தேவைப்படுகிறது. இங்குதான் குபெர்னெடிஸ் போன்ற கருவிகள் பிரகாசிக்கின்றன. குபெர்னெடிஸ் என்பது கண்டெய்னரைஸ்டு அப்ளிகேஷன்களின் டெப்ளாய்மெண்ட், அளவிடுதல் மற்றும் நிர்வாகத்தை தானியக்கமாக்குவதற்கான ஒரு ஓப்பன்-சோர்ஸ் அமைப்பாகும். இது சுமை சமநிலை, சுய-குணப்படுத்துதல், சேவை கண்டுபிடிப்பு மற்றும் ரோலிங் புதுப்பிப்புகள் போன்ற அம்சங்களை வழங்குகிறது, இது சிக்கலான, பரவலாக்கப்பட்ட அமைப்புகளை நிர்வகிக்க இன்றியமையாததாகிறது.
பல நிறுவனங்கள் தங்கள் அப்ளிகேஷன்களை உருவாக்க மற்றும் தொகுக்க டாக்கரைப் பயன்படுத்துகின்றன, பின்னர் அந்த டாக்கர் கண்டெய்னர்களை உற்பத்திச் சூழல்களில் டெப்ளாய் செய்யவும், அளவிடவும் மற்றும் நிர்வகிக்கவும் குபெர்னெடிஸைப் பயன்படுத்துகின்றன.
முடிவுரை
டாக்கர் நாம் அப்ளிகேஷன்களை உருவாக்கும், அனுப்பும் மற்றும் இயக்கும் முறையை அடிப்படையில் மாற்றியுள்ளது. உலகளாவிய மேம்பாட்டுக் குழுக்களுக்கு, பல்வேறு சூழல்களில் சீரான தன்மை, கையடக்கத்தன்மை மற்றும் செயல்திறனை வழங்கும் அதன் திறன் விலைமதிப்பற்றது. டாக்கர் மற்றும் அதன் முக்கிய கருத்துக்களை ஏற்றுக்கொள்வதன் மூலம், உங்கள் மேம்பாட்டுப் பணிப்பாய்வுகளை நெறிப்படுத்தலாம், டெப்ளாய்மெண்ட் உராய்வைக் குறைக்கலாம் மற்றும் உலகெங்கிலும் உள்ள பயனர்களுக்கு நம்பகமான அப்ளிகேஷன்களை வழங்கலாம்.
எளிய அப்ளிகேஷன்களுடன் பரிசோதனை செய்வதன் மூலம் தொடங்கி, படிப்படியாக டாக்கர் கம்போஸ் மற்றும் சிஐ/சிடி பைப்லைன்களுடன் ஒருங்கிணைப்பு போன்ற மேம்பட்ட அம்சங்களை ஆராயுங்கள். கண்டெய்னரைசேஷன் புரட்சி இங்கே உள்ளது, மேலும் உலகளாவிய தொழில்நுட்ப அரங்கில் வெற்றிபெற விரும்பும் எந்தவொரு நவீன டெவலப்பர் அல்லது டெவ்ஆப்ஸ் நிபுணருக்கும் டாக்கரைப் புரிந்துகொள்வது ஒரு முக்கியமான திறமையாகும்.