network_mode: service:vpn u l-isem tal-host db li ntilif
Li taqsam l-ispazju tal-ismijiet tal-VPN hija għażla tat-topoloġija. Jew db iżomm l-indirizz tiegħu u l-vpn jingħaqad ma’ dik ix-xibka, jew kollox iwieġeb fuq loopback.
Inti żżid network_mode: service:vpn mal-app, terġa’ tibda l-munzell, u l-app tmut għax db ma jiġix riżolt aktar. Xejn ma nbidel ismu fil-fajl compose, għalhekk is-suspettati ovvji huma d-DNS u d-database. Il-bidla proprja hija iżgħar u stramba aktar: l-app waqfet tkun membru tax-xibka Compose fejn jeżisti dak l-isem. Sakemm tiddeċiedi minn liema spazju tal-ismijiet għandha twieġeb id-database, kull korrezzjoni tal-isem tal-host hija stima.
Għaliex l-isem tal-host db waqaf jiġi riżolt
Servizz li juża network_mode m’għandux indirizz tiegħu stess fuq ix-xibka Compose; jissellef l-ispazju tal-ismijiet tas-servizz imsemmi. Dak l-ispazju jġib miegħu l-interfaces, ir-rotot, l-ispazju tal-ports u r-riżolutur tiegħu stess, u jieħu post it-twaħħil tal-app max-xibka backend. L-isem db qatt ma kien astratt: kien jgħix fuq dik ix-xibka u kien jiġi riżolt permezz tad-DNS inkorporat tagħha. Neħħi t-twaħħil u l-isem m’għandux fejn jiġi riżolt.
Ikkonferma dan minn ġewwa l-kontenituri u mhux mill-host. Tfittxija li tfalli fl-app iżda tirnexxi fil-kontenitur tad-database tfisser li l-isem huwa tajjeb u s-sħubija mhijiex. Dak ir-riżultat iqiegħed il-korrezzjoni fit-topoloġija compose u mhux fis-settings tar-riżolutur tal-app.
Tliet mistoqsijiet qabel ma teditja l-fajl
Wieġeb bi tqarbina, għax kull waħda tnaqqas it-topoloġija. Għal xiex għandha twieġeb id-database: għal isem tal-host li jużaw kontenituri oħra, jew biss għall-app fuq loopback? L-app trid tippubblika port lejn il-host, u liema servizz ikollu dan? Id-database trid tkun aċċessibbli mill-host jew minn magna oħra, jew biss minn ġewwa t-tunnel?
Jekk id-database teħtieġ l-isem tagħha stess u l-app tippubblika xejn, żommhom fuq twaħħiliet separati. Jekk l-app trid tippubblika port u kollox jgħaddi mit-tunnel, poġġi d-database fl-ispazju tal-ismijiet tal-VPN u uża loopback. It-taħlit tat-tnejn jipproduċi munzell li jibda nadif u jfalli fil-ħin tal-konnessjoni.
Ħalli d-database fejn hi
Il-bidla iżgħar twaħħal il-proprjetarju tal-ispazju tal-ismijiet max-xibka li diġà fiha d-database. L-app tirret dak it-twaħħil għax taqsam il-munzell vpn, u db jiġi riżolt eżattament kif kien qabel.
services:
vpn:
networks:
- backend
app:
network_mode: service:vpn
db:
networks:
- backend
networks:
backend:Żidx networks mal-app ukoll. Compose jirrifjuta dik il-proprjetà flimkien ma’ network_mode fl-istess servizz, u l-iżball jindika l-fajl u mhux il-par. Jekk il-klijent VPN jiffiltra d-destinazzjoni backend fl-ispazju tal-ismijiet tiegħu, aġġusta wkoll il-politika tiegħu tax-xibka lokali appoġġjata; twaħħil kondiviż joffri triq iżda ma jħassarx dak il-filtru.
Mexxi d-database fl-ispazju tal-ismijiet
Il-bidla l-kbira tqiegħed id-database fl-istess spazju tal-ismijiet u tindirizza l-app lejn 127.0.0.1 bil-port veru. Żewġ proċessi ma jistgħux it-tnejn jorbtu l-istess indirizz u port biss għax bdew f’kontenituri differenti, għalhekk database li tisma’ wkoll fuq l-indirizz wildcard se taħbat ma’ kull ħaġa oħra li tagħmel dan. Iċċekkja s-semmiegħ qabel ma tmexxih.
Il-ports ippubblikati jappartjenu lis-servizz li jippossjedi l-ispazju tal-ismijiet. Iż-żieda ta’ ports mal-app tiġi rifjutata flimkien ma’ network_mode, u l-ħolqien ta’ indirizz separat tal-app jiddeskrivi interface li ma jeżistix.
Prontezza, imblukkar u r-riżolutur
depends_on jordna l-bidu tal-kontenituri; mhuwiex prova li t-tunnel huwa attiv u ma jwaqqafx it-traffiku meta t-tunnel jaqa’. Ittratta l-aċċessabbiltà, il-prontezza tat-tunnel u l-imblukkar tal-fallimenti bħala tliet rekwiżiti separati. Munzell li jissodisfa biss l-ewwel jgħaddi test manwali f’ġurnata tajba u jnixxi f’ġurnata ħażina. Ikteb it-tliet tweġibiet ħdejn il-fajl compose, fejn se jħares il-persuna li jmiss.
Li taqsam l-ispazju tal-ismijiet ifisser ukoll li l-app tirret ir-riżolutur tal-kontenitur VPN, li jgħin meta t-tunnel jimponi servers DNS u jħawwad meta ma jagħmilx hekk. Iċċekkja x’fih verament l-ispazju tal-ismijiet minflok ma tassumi li japplika r-riżolutur tal-host. Ir-referenza tas-servizzi Compose tiddokumenta network_mode, ports u l-imġiba tad-dipendenzi f’post wieħed, inkluż għaliex servizz network_mode m’għandux indirizz tiegħu stess.