Docker ની પૂલ ઓવરલેપ ભૂલ VPN રૂટની સમસ્યા નથી
એક ભૂલ ફાળવણી દરમિયાન થાય છે, બીજી રૂટ બદલાયા પછી. કન્ટેનરના સરનામાં કે ટનલને અડવાના પહેલાં IPAM સબનેટ વાંચો.
Docker આ સરનામાં-જગ્યામાં પૂલ બીજા સાથે ઓવરલેપ થાય છે એવા સંદેશ સાથે નેટવર્ક બનાવવાનો ઇનકાર કરે છે, અને કોઈ નક્કી કરે છે કે VPN રૂટ જ કારણ હોવું જોઈએ. એ થઈ શકે નહીં. એ ભૂલ ત્યારે ઊભી થાય છે જ્યારે પૂલ ફાળવાઈ રહ્યો હોય, એક પણ પેકેટ અસ્તિત્વમાં આવ્યા પહેલાં, અને જાતે બનાવેલા કર્નલ રૂટની તેના પર કોઈ અસર નથી. VPN એક પગલું પછી મહત્ત્વનું બને છે, જ્યારે પહેલેથી સરનામું ધરાવતું કન્ટેનર રૂટ દેખાયા પછી પહોંચી શકાય તેવું રહેતું નથી. બે સમસ્યાઓ, પુરાવાના બે સેટ, અને તેમને ભેગા કરવાથી એવો ફેરફાર થાય છે જે બેમાંથી એકેય સુધારતો નથી.
એકસરખી દેખાતી બે ભૂલો
ફાળવણીની ભૂલ ગણિતીય છે. Docker તમે માગેલા સબનેટની સરખામણી તે પહેલેથી સંભાળે છે તેવા સબનેટ સાથે કરે છે, છેદન શોધે છે અને ઇનકાર કરે છે. હજી કંઈ ચાલી રહ્યું નથી, તેથી કોઈ રૂટ નથી, કન્ટેનર નથી અને તપાસવા માટે ટ્રાફિક નથી.
રનટાઇમ લક્ષણ પહોંચનો પ્રશ્ન છે. ગઈકાલે જવાબ આપતું કન્ટેનર હવે જવાબ આપતું નથી, અને હોસ્ટના રૂટિંગ ટેબલમાં કંઈક બદલાયું છે. કન્ટેનર હજી પોતાનું સરનામું ધરાવે છે; પ્રશ્ન એ છે કે એ સરનામું કયો માર્ગ લે છે.
બંને સરનામા-યોજનાની સમસ્યાઓ છે. તેમાંથી ફક્ત એક જ Dockerની સમસ્યા છે.
પહેલાં ફાળવેલા પૂલ વાંચો
નેટવર્કની યાદી બનાવો અને જે છેદી શકે તેવા નેટવર્ક તપાસો. સબનેટ IPAM રૂપરેખાંકનમાં રહે છે, અને જોડાયેલા કન્ટેનર અલગથી સૂચિબદ્ધ થાય છે:
docker network ls
docker network inspect EXISTING_NETWORK
એ સબનેટની સરખામણી નવું નેટવર્ક માગતા પૂલ સાથે કરો, અને યાદ રાખો કે Compose દરેક પ્રોજેક્ટ માટે પોતાનું ડિફોલ્ટ નેટવર્ક બનાવે છે. તમે ભૂલી ગયેલા પ્રોજેક્ટ સાથેનો સંઘર્ષ ડેમન સાથેના સંઘર્ષ જેવો જ દેખાય છે.
સેવા પરનું સ્થિર ipv4_address એક કન્ટેનરનું સરનામું છે, પૂલની વ્યાખ્યા નથી. તેને બદલવાથી ઓવરલેપ દૂર થતો નથી, કારણ કે ઓવરલેપ નેટવર્ક સબનેટ વચ્ચે છે, કન્ટેનર વચ્ચે નહીં. network-create સંદર્ભ Docker સામાન્ય બ્રિજ ફાળવણી માટે ઓવરલેપ ન થતા સબનેટની માંગ કરે છે અને એકને સ્પષ્ટ રીતે કેવી રીતે પસંદ કરવું તે દસ્તાવેજીકૃત કરે છે.
VPN ટકી શકે તેવું પ્રીફિક્સ પસંદ કરો
તાત્કાલિક સંઘર્ષ અને ભાવિ રૂટ એક જ પસંદગીથી નક્કી થાય છે, તેથી તે એક વાર કરો. ઉમેદવાર શ્રેણીની સરખામણી LAN સાથે, હોસ્ટ પહોંચી શકે તેવા દરેક VPN ગંતવ્ય સાથે, અને વપરાતા અન્ય કોઈપણ overlay સાથે કરો.
Dockerને સંતોષતું અને દૂરના નેટવર્ક સાથે અથડાતું પ્રીફિક્સ તમને એવું કન્ટેનર આપે છે જે સ્વચ્છ રીતે શરૂ થાય છે અને ટનલ ઉપર થાય તે ક્ષણે પહોંચાતું નથી. આ આ લેખની બીજી ભૂલ છે, અને હવે ટાળવા કરતાં પછી નિદાન કરવું ઘણું અઘરું છે.
પસંદ કરેલી શ્રેણીઓ એવી જગ્યાએ લખો જ્યાંથી આગળનો પ્રોજેક્ટ તેમને વાંચી શકે. ફાળવેલા પ્રીફિક્સનું એક-લીટર રજિસ્ટર સમજૂતી વિનાના ટાઇમઆઉટના એક અઠવાડિયા કરતાં સસ્તું છે.
નેટવર્ક જાણી જોઈને નિવૃત્ત કરો અથવા બદલો
નવા Compose નેટવર્ક માટે, નેટવર્કના IPAM રૂપરેખાંકનમાં ન વપરાયેલું પ્રીફિક્સ સેટ કરો. હાલના પ્રોજેક્ટ માટે, પુનઃક્રમાંકનની યોજના કરો: સ્થિર સરનામાં, આધારિત સેવાઓ અને નેટવર્ક ફરી બનાવવાનું પગલું—બધું ધ્યાનમાં લેવું પડશે, કારણ કે YAML સંપાદિત કરવાથી ચાલુ નેટવર્કનું પુનઃક્રમાંકન થતું નથી.
જો જૂનું નેટવર્ક સંઘર્ષકારી ફાળવણીનું માલિક હોય, તો તેને દૂર કરતા પહેલાં કોણ જોડાયેલું છે તે તપાસો. docker network rm સક્રિય endpoint હોય ત્યાં સુધી ઇનકાર કરે છે, અને docker stop નેટવર્કના નામને બદલે કન્ટેનરના નામ કે ID લે છે. કન્ટેનર થોભાવવાથી પૂલ ધરાવતી નેટવર્ક વ્યાખ્યા પણ દૂર થતી નથી.
વ્યાપક prune નિદાનનું સાધન નથી. તે અસંબંધિત પ્રોજેક્ટ સુધી પહોંચે છે અને તમે એકઠા કરવા જઈ રહ્યા હતા તે પુરાવા નષ્ટ કરે છે.
ડિફોલ્ટ પૂલ ફક્ત આગલી ફાળવણીમાં મદદ કરે છે
ડેમનનું ડિફોલ્ટ સરનામા પૂલ સેટિંગ ભાવિ સ્વયં ફાળવણીઓને તમે અનામત રાખેલી શ્રેણીઓની બહાર રાખીને સુધારે છે. તે પહેલેથી અસ્તિત્વમાં હોય તેવા નેટવર્કને ભૂતકાળમાં જઈને ફરી સરનામાં આપતું નથી, અને બીજા સ્પષ્ટ સબનેટ સાથે ઓવરલેપ થતા સ્પષ્ટ સબનેટને ઉકેલતું નથી.
એ સેટિંગને પોતાના રીસ્ટાર્ટ સાથેનો અલગ, આયોજિત ફેરફાર ગણો, એક પ્રોજેક્ટ સુધારવાનો ભાગ નહીં. બંને ભેગા કરવાનો અર્થ એ છે કે ડેમનનો રીસ્ટાર્ટ અસંબંધિત તપાસની વચ્ચે પડે છે. તેને તેની પોતાની વિન્ડોમાં શેડ્યૂલ કરો. પછી ખાતરી કરો કે એક નવી સ્વયં ફાળવણી ખરેખર તમે અનામત રાખેલી શ્રેણીઓની બહાર પડે છે.
બનાવટ સફળ થયા પછી, ખરેખર ચાલી રહેલું સબનેટ ચકાસો અને પછી VPN તેની ઈચ્છિત સ્થિતિમાં હોય તેમ એક વાસ્તવિક એપ્લિકેશન વિનંતી કરો. જો પૂલ માન્ય છે અને પ્રવેશ હજી નિષ્ફળ જાય છે, તો બાકીનું કામ રૂટ પસંદગી, ફિલ્ટરિંગ અને પરત માર્ગ છે. તે રનટાઇમ તપાસ છે, અને તે ફાળવણીની ભૂલને ભૂતકાળમાં જઈને અર્થહીન બનાવતી નથી.
કામનો ક્રમ: ફાળવેલા પૂલ વાંચો, એવું પ્રીફિક્સ પસંદ કરો જે Docker અને VPN ગંતવ્ય બંનેને ટાળે, નેટવર્ક જાણી જોઈને ફરી બનાવો, પછી ટનલ ઉપર હોય તેમ એક વિનંતી ચકાસો.