துறைமுகங்களை வெளிப்படுத்த டோக்கர்ஃபைலைப் பயன்படுத்துதல்

Using Dockerfile Expose Ports



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

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







முதலில், நாம் ஒரு திட்டக் கோப்பகத்தை உருவாக்க வேண்டும். இந்த கோப்பகத்தில், நீங்கள் அனைத்து திட்டக் கோப்புகளையும் வைத்திருக்க வேண்டும் டாக்கர்ஃபைல் .



திட்டக் கோப்பகத்தை உருவாக்க பின்வரும் கட்டளையை இயக்கவும் மியாப்/ உங்கள் பயனர்களின் வீட்டு அடைவில் மற்றும் அதற்கு செல்லவும்:



$mkdir/மியாப்&& குறுவட்டு/மியாப்





வலை பயன்பாட்டை தயார் செய்தல்:

இப்போது ஒரு கோப்பகத்தை உருவாக்கவும் src/ உள்ளே ~/மியாப்/ பின்வரும் கட்டளையுடன் அடைவு:

$mkdirsrc

இல் src/ அடைவு, என் NodeJS பயன்பாட்டின் அனைத்து மூலக் குறியீடும் வைக்கப்படும்.

நான் ஒரு எளியதை உருவாக்குகிறேன் app.js இல் உள்ள கோப்பு src/ அடைவு மற்றும் துறைமுகத்தில் ஒரு எளிய வலை சேவையகத்தை இயக்கவும் 8080 வெறும் ஆர்ப்பாட்டத்திற்காக.

தி src/app.js கோப்பில் பின்வரும் குறியீடுகள் உள்ளன:

டாக்கர்ஃபைல் எழுதுதல் மற்றும் துறைமுகங்களை வெளிப்படுத்துதல்:

இப்போது a ஐ உருவாக்கவும் டாக்கர்ஃபைல் இல் ~/மியாப் பின்வரும் கட்டளையுடன் அடைவு:

$தொடுதல்டாக்கர்ஃபைல்

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

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

RUN apk புதுப்பிப்பு அதாவது, இயக்கவும் apk மேம்படுத்தல் அடிப்படை டோக்கர் படத்தில் கட்டளை ஆல்பைன்: 3.8 .

RUN apk சேர் –no-cache nodejs அதாவது, இயக்கவும் apk சேர் இல் NodeJS நிரலாக்க மொழியை நிறுவ கட்டளை ஆல்பைன்: 3.8 டோக்கர் அடிப்படை படம்.

நகல் ./src /app அதாவது, இருந்து அனைத்து கோப்புகளையும் நகலெடுக்கவும் ~/myapp/src அடைவு /செயலி நாம் பயன்படுத்தி உருவாக்கும் புதிய டோக்கர் படத்தின் அடைவு டாக்கர்ஃபைல் .

சிஎம்டி [/usr/bin/node, /app/app.js] அதாவது, இயக்கவும் /app/app.js பயன்படுத்தி புதிய கொள்கலனில் இருந்து கோப்பு முனை பைனரி அமைந்துள்ளது /usr/பின்/முனை .

இறுதியாக, க்கு எக்ஸ்போஸ் 8080/டிசிபி அதாவது, TCP போர்ட்டை அம்பலப்படுத்துங்கள் அல்லது திறக்கவும் 8080 புரவலன் கணினிக்கு.

டோக்கர்ஃபைலைப் பயன்படுத்தி தனிப்பயன் டோக்கர் படத்தை உருவாக்குதல்:

இப்போது தனிப்பயன் டோக்கர் படத்தை உருவாக்குவோம் ஆல்பைன்-முனை: v1 பயன்படுத்தி டாக்கர்ஃபைல் நாம் தான் உருவாக்கினோம்.

முதலில் நீங்கள் இருப்பதை உறுதிப்படுத்திக் கொள்ளுங்கள் ~/மியாப்/ அடைவு பின்னர் உங்கள் தனிப்பயன் டோக்கர் படத்தை உருவாக்க பின்வரும் கட்டளையை இயக்கவும் ஆல்பைன்-முனை: v1 :

$கப்பல்துறை உருவாக்கம்-டிஆல்பைன்-முனை: v1.

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

நீங்கள் பார்க்க முடியும் என, தனிப்பயன் டோக்கர் படம் ஆல்பைன்-முனை: v1 வெற்றிகரமாக உருவாக்கப்பட்டது.

தனிப்பயன் டோக்கர் படத்தை சோதிக்கிறது:

இப்போது தனிப்பயன் டோக்கர் படத்தை நாம் சோதிக்கலாம் ஆல்பைன்-முனை: v1 மிக எளிதாக. நாம் செய்ய வேண்டியது ஒரு கொள்கலனை உருவாக்குவதுதான் ஆல்பைன்-முனை: v1 படம்

டோக்கர் கொள்கலனை உருவாக்க பின்வரும் கட்டளையை இயக்கவும் www இருந்து ஆல்பைன்-முனை: v1 டோக்கர் படம்:

$டோக்கர் ரன்-டி -அது -பெயர்www ஆல்பைன்-முனை: v1

கொள்கலன் www உருவாக்கப்பட்டது.

இப்போது ஐபி முகவரியைக் கண்டுபிடிப்போம் www பின்வரும் கட்டளையுடன் டோக்கர் கொள்கலன்:

$டோக்கர் ஆய்வு www| பிடியில்முகவரி

நீங்கள் பார்க்க முடியும் என, என் விஷயத்தில், ஐபி முகவரி 172.17.0.3 . எனவே நான் எழுதிய NodeJS பயன்பாடு போர்ட்டில் உள்ள இணைய உலாவியில் இருந்து அணுகக்கூடியதாக இருக்க வேண்டும் 8080 இந்த ஐபி முகவரி.

வோய்லா! நான் துறைமுகத்தை அணுக முடியும் 8080 என்னுடைய www டோக்கர் கொள்கலன்.

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

டோக்கர்ஃபைலைப் பயன்படுத்தி TCP மற்றும் UDP துறைமுகங்களை அம்பலப்படுத்துதல்:

இந்த கட்டுரையின் முந்தைய பகுதியில், ஒரு TCP போர்ட்டை எவ்வாறு பயன்படுத்துவது என்பதை நான் காண்பித்தேன் டாக்கர்ஃபைல் .

நீங்கள் ஒரு TCP போர்ட்டை எளிதாக வெளிப்படுத்தலாம் (TCP போர்ட் என்று வைத்துக்கொள்வோம் 53 ) உங்கள் டாக்கர்ஃபைல் பின்வரும் வரியுடன்:

வெளிப்படுத்து53/tcp

நீங்கள் ஒரு UDP போர்ட்டையும் அம்பலப்படுத்தலாம் (UDP போர்ட் என்று வைத்துக்கொள்வோம் 53 உங்களுடைய பின்வரும் வரியுடன் டாக்கர்ஃபைல் :

வெளிப்படுத்து53/udp

உங்களுடைய பின்வரும் வரிகளுடன் ஒரே நேரத்தில் TCP மற்றும் UDP போர்ட்டை நீங்கள் வெளிப்படுத்தலாம் டாக்கர்ஃபைல் :

வெளிப்படுத்து53/tcp
வெளிப்படுத்து53/udp

எந்த நெறிமுறையை (TCP அல்லது UDP) பயன்படுத்த வேண்டும் என்பதை நீங்கள் குறிப்பிடவில்லை என்றால், TCP இயல்பாக பயன்படுத்தப்படுகிறது. உதாரணமாக, உங்கள் வரியில் பின்வரும் வரியை எழுதினால் டாக்கர்ஃபைல் :

வெளிப்படுத்து53

நீங்கள் டிசிபி போர்ட் 53 ஐப் பயன்படுத்த விரும்புகிறீர்கள் என்று டோக்கர் கருதுவார்.

டாக்கர்ஃபைலைப் பயன்படுத்தி பல துறைமுகங்களை அம்பலப்படுத்துதல்:

நீங்கள் தனிப்பயன் MEAN ஸ்டாக் டோக்கர் படத்தை உருவாக்க விரும்புகிறீர்கள் என்று சொல்லலாம். இந்த வழக்கில், நீங்கள் சில துறைமுகத்தில் ஒரு HTTP சேவையகத்தை இயக்குகிறீர்கள் (TCP port 80 அல்லது 8080 என்று வைத்துக்கொள்வோம்), TCP port 21 இல் இயங்கும் ஒரு FTP சேவையகம், ஒரு SQL தரவுத்தள சேவையகம் (MySQL என்று சொல்லலாம்) TCP port 3306 இல் இயங்குகிறது, அல்லது TCP போர்ட் 27017 அல்லது 27018 இல் இயங்கும் NoSQL தரவுத்தள சேவையகம் (MongoDB என்று வைத்துக்கொள்வோம்), TCP போர்ட் 22 இல் இயங்கும் SSH சேவையகம். அது நிறைய துறைமுகங்கள்!

நல்ல செய்தி என்னவென்றால்; பயன்படுத்தி உருவாக்கப்பட்ட உங்கள் தனிப்பயன் டோக்கர் படத்தில் தேவையான பல துறைமுகங்களை நீங்கள் வெளிப்படுத்தலாம் டாக்கர்ஃபைல் .

மேலே உள்ள எடுத்துக்காட்டில் உள்ள துறைமுகங்கள் உங்கள் பின்வரும் வரிகளுடன் வெளிப்படும் டாக்கர்ஃபைல் :

வெளிப்படுத்து80/tcp
வெளிப்படுத்து8080/tcp
வெளிப்படுத்துஇருபத்து ஒன்று/tcp
வெளிப்படுத்து22/tcp
வெளிப்படுத்து3306/tcp
வெளிப்படுத்து27017/tcp
வெளிப்படுத்து27018/tcp

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

வெளிப்படுத்து80
வெளிப்படுத்து8080
வெளிப்படுத்துஇருபத்து ஒன்று
வெளிப்படுத்து22
வெளிப்படுத்து3306
வெளிப்படுத்து27017
வெளிப்படுத்து27018

உங்களுக்குத் தேவைப்பட்டால், உங்கள் TCP மற்றும் UDP துறைமுகங்களை கலக்கலாம் டாக்கர்ஃபைல் . எடுத்துக்காட்டாக, நீங்கள் DNS சேவையகத்தை இயக்கினால் (இது UDP போர்ட் 53 இல் இயங்குகிறது), மேலே உள்ள எடுத்துக்காட்டுடன், பின்வரும் வரிகளை உங்களுடன் சேர்ப்பீர்கள் டாக்கர்ஃபைல் .

வெளிப்படுத்து80
வெளிப்படுத்து8080
வெளிப்படுத்துஇருபத்து ஒன்று
வெளிப்படுத்து22
வெளிப்படுத்து53/udp
வெளிப்படுத்து3306
வெளிப்படுத்து27017
வெளிப்படுத்து27018

எனவே நீங்கள் பயன்படுத்தி துறைமுகங்களை எப்படி வெளிப்படுத்துகிறீர்கள் டாக்கர்ஃபைல் . பற்றி மேலும் அறிய டாக்கர்ஃபைல் மற்றும் பயன்படுத்தி துறைமுகங்கள் வெளிப்படுத்துதல் டாக்கர்ஃபைல் , படிக்கவும் டாக்கர்ஃபைல் இல் குறிப்பு வழிகாட்டி https://docs.docker.com/engine/reference/builder/#expose

இந்தக் கட்டுரையைப் படித்ததற்கு நன்றி.