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.

Artikli relatati