network_mode: service:vpn மற்றும் காணாமல் போன db புரவலன் பெயர்
VPN இன் பெயர்வெளியைப் பங்கிடுவது ஒரு டோபாலஜி தேர்வு. ஒன்று db தன் சொந்த முகவரியை வைத்துக்கொண்டு vpn அந்த வலையமைப்பில் சேர்கிறது, இல்லையேல் எல்லாம் loopback இல் பதிலளிக்கிறது.
நீங்கள் பயன்பாட்டில் network_mode: service:vpn சேர்க்கிறீர்கள், ஸ்டாக்கை மீண்டும் தொடங்குகிறீர்கள், db இனி தீர்க்கப்படாததால் பயன்பாடு இறக்கிறது. compose கோப்பில் எதுவும் மறுபெயரிடப்படவில்லை, எனவே வெளிப்படையான சந்தேகத்திற்குரியவை DNS மற்றும் தரவுத்தளம். உண்மையான மாற்றம் சிறியது மற்றும் விசித்திரமானது: அந்தப் பெயர் இருக்கும் Compose வலையமைப்பின் உறுப்பினராக இருப்பதை பயன்பாடு நிறுத்தியது. தரவுத்தளம் எந்தப் பெயர்வெளியிலிருந்து பதிலளிக்க வேண்டும் என்பதை நீங்கள் முடிவு செய்யும் வரை ஒவ்வொரு புரவலன் பெயர் திருத்தமும் ஒரு ஊகம்.
db புரவலன் பெயர் தீர்க்கப்படுவது ஏன் நின்றது
network_mode பயன்படுத்தும் சேவைக்கு Compose வலையமைப்பில் சொந்த முகவரி இல்லை; அது பெயரிடப்பட்ட சேவையின் பெயர்வெளியைக் கடன் வாங்குகிறது. அந்தப் பெயர்வெளி அதன் சொந்த இடைமுகங்கள், வழித்தடங்கள், துறைமுக இடம் மற்றும் தீர்வியைக் கொண்டு வருகிறது, மேலும் அது பயன்பாட்டின் backend வலையமைப்பு இணைப்பை மாற்றுகிறது. db என்ற பெயர் ஒருபோதும் சுருக்கமாக இருந்ததில்லை: அது அந்த வலையமைப்பில் வாழ்ந்து அதன் உள்ளமைந்த DNS மூலம் தீர்க்கப்பட்டது. இணைப்பை நீக்கினால் பெயருக்கு தீர்க்க இடமில்லை.
இதை புரவலனிலிருந்து அல்ல, கொள்கலன்களின் உள்ளிருந்து உறுதிப்படுத்துங்கள். பயன்பாட்டில் தோல்வியடைந்து தரவுத்தள கொள்கலனில் வெற்றியடையும் தேடல் என்பது பெயர் சரியானது மற்றும் உறுப்பினர் நிலை அல்ல என்பதைக் குறிக்கிறது. அந்த முடிவு திருத்தத்தை பயன்பாட்டின் தீர்வி அமைப்புகளில் அல்ல, compose டோபாலஜியில் வைக்கிறது.
கோப்பைத் திருத்தும் முன் மூன்று கேள்விகள்
இவற்றுக்கு வரிசையாக பதிலளியுங்கள், ஏனெனில் ஒவ்வொன்றும் டோபாலஜியைக் குறுக்குகிறது. தரவுத்தளம் எதற்கு பதிலளிக்க வேண்டும்: மற்ற கொள்கலன்கள் பயன்படுத்தும் புரவலன் பெயருக்கா, அல்லது loopback இல் உள்ள பயன்பாட்டுக்கு மட்டுமா? பயன்பாடு புரவலனுக்கு துறைமுகத்தை வெளியிட வேண்டுமா, எந்த சேவை அதைக் கொண்டிருக்கும்? தரவுத்தளம் புரவலன் அல்லது மற்றொரு இயந்திரத்திலிருந்து அணுகக்கூடியதாக இருக்க வேண்டுமா, அல்லது சுரங்கப்பாதைக்குள் இருந்து மட்டுமா?
தரவுத்தளத்துக்கு சொந்தப் பெயர் தேவைப்பட்டு பயன்பாடு எதையும் வெளியிடவில்லை என்றால், அவற்றை தனித்தனி இணைப்புகளில் வையுங்கள். பயன்பாடு துறைமுகத்தை வெளியிட வேண்டும் மற்றும் எல்லாம் சுரங்கப்பாதை வழியாகச் சென்றால், தரவுத்தளத்தை VPN பெயர்வெளியில் வைத்து loopback பயன்படுத்துங்கள். இரண்டையும் கலப்பது சுத்தமாகத் தொடங்கி இணைக்கும் நேரத்தில் தோல்வியடையும் ஸ்டாக்கை உருவாக்குகிறது.
தரவுத்தளத்தை இருக்கும் இடத்திலேயே வையுங்கள்
சிறிய மாற்றம் பெயர்வெளியின் உரிமையாளரை ஏற்கனவே தரவுத்தளம் உள்ள வலையமைப்புடன் இணைக்கிறது. பயன்பாடு vpn ஸ்டாக்கைப் பங்கிடுவதால் அந்த இணைப்பை வாரிசாகப் பெறுகிறது, db முன்பு போலவே தீர்க்கப்படுகிறது.
services:
vpn:
networks:
- backend
app:
network_mode: service:vpn
db:
networks:
- backend
networks:
backend:பயன்பாட்டில் networks உம் சேர்க்க வேண்டாம். Compose அதே சேவையில் network_mode உடன் அந்தப் பண்பை நிராகரிக்கிறது, பிழை ஜோடியை அல்ல, கோப்பைச் சுட்டுகிறது. VPN கிளையண்ட் தன் பெயர்வெளிக்குள் backend இலக்கை வடிகட்டினால், அதன் ஆதரிக்கப்பட்ட உள்ளூர் வலையமைப்புக் கொள்கையையும் சரிசெய்யுங்கள்; பகிரப்பட்ட இணைப்பு ஒரு பாதையை வழங்குகிறது ஆனால் அந்த வடிகட்டியை ரத்து செய்யாது.
தரவுத்தளத்தை பெயர்வெளிக்குள் நகர்த்துங்கள்
பெரிய மாற்றம் தரவுத்தளத்தை அதே பெயர்வெளியில் வைத்து பயன்பாட்டை உண்மையான துறைமுகத்துடன் 127.0.0.1 நோக்கி திருப்புகிறது. வெவ்வேறு கொள்கலன்களில் தொடங்கியதால் மட்டும் இரண்டு செயல்முறைகளும் ஒரே முகவரி மற்றும் துறைமுகத்தை பிணைக்க முடியாது, எனவே wildcard முகவரியிலும் கேட்கும் தரவுத்தளம் அவ்வாறு செய்யும் வேறு எதனுடனும் மோதும். நகர்த்தும் முன் செவிமடுப்பானைச் சரிபாருங்கள்.
வெளியிடப்பட்ட துறைமுகங்கள் பெயர்வெளியைக் கொண்ட சேவைக்கு உரியவை. பயன்பாட்டில் ports சேர்ப்பது network_mode உடன் நிராகரிக்கப்படுகிறது, தனி பயன்பாட்டு முகவரியைக் கற்பனை செய்வது இல்லாத இடைமுகத்தை விவரிக்கிறது.
தயார்நிலை, தடுப்பு மற்றும் தீர்வி
depends_on கொள்கலன் தொடக்கத்தை ஒழுங்குபடுத்துகிறது; அது சுரங்கப்பாதை இயங்குகிறது என்பதற்கான சான்று அல்ல, சுரங்கப்பாதை விழும்போது அது போக்குவரத்தை நிறுத்தாது. அணுகல், சுரங்கப்பாதைத் தயார்நிலை மற்றும் தோல்வித் தடுப்பை மூன்று தனித்தனி தேவைகளாகக் கருதுங்கள். முதலாவதை மட்டும் பூர்த்தி செய்யும் ஸ்டாக் நல்ல நாளில் கைச் சோதனையில் தேர்ச்சி பெறுகிறது, மோசமான நாளில் கசிகிறது. மூன்று பதில்களையும் compose கோப்புக்கு அருகில் எழுதுங்கள், அடுத்த நபர் பார்க்கும் இடத்தில்.
பெயர்வெளியைப் பங்கிடுவது என்பது பயன்பாடு VPN கொள்கலனின் தீர்வியை வாரிசாகப் பெறுகிறது என்பதையும் குறிக்கிறது, இது சுரங்கப்பாதை DNS சேவையகங்களைத் திணிக்கும்போது உதவுகிறது, திணிக்காதபோது குழப்புகிறது. புரவலனின் தீர்வி பொருந்தும் என்று கருதுவதற்குப் பதிலாக பெயர்வெளியில் உண்மையில் என்ன இருக்கிறது என்பதைச் சரிபாருங்கள். Compose சேவை குறிப்பு ஒரே இடத்தில் network_mode, ports மற்றும் சார்புகளின் நடத்தையை ஆவணப்படுத்துகிறது, network_mode சேவைக்கு சொந்த முகவரி ஏன் இல்லை என்பதும் உட்பட.