Puncte:0

Cum se conectează containerul într-o altă rețea docker?

drapel ke

Am postgres care rulează în rețeaua implicită de containere, deoarece rula folosind comanda docker run. Și, aplicația noastră web rulează pe același server, dar s-a rotit ca un serviciu docker-compose. Deci, există o rețea de poduri separată creată automat pentru asta.

Cum se conectează acest container de aplicații web creat de serviciul docker-compose în rețeaua personalizată la baza de date Postgres creată folosind comanda docker run în rețeaua implicită?

Am încercat să folosesc localhost, host.docker.internal ambele nu funcționează. IP-ul conexiunii LAN a mașinii gazdă funcționează, dar se poate schimba dacă rulez pe un alt server, deci nu este util.

Puncte:0
drapel ar

Containerele din diferite rețele nu pot comunica între ele, deoarece iptables aruncă astfel de pachete. Acest lucru este afișat în lanțurile DOCKER-ISOLATION-STAGE-1 și DOCKER-ISOLATION-STAGE-2 din tabelul de filtre.

sudo iptables -t filter -vL

Pot fi adăugate reguli la lanțul DOCKER-USER pentru a permite comunicarea între diferite rețele. În scenariul de mai sus, următoarele comenzi vor permite ORICE container din mynetwork1 să comunice cu ORICE container din mynetwork2.

Numele interfeței bridge ale rețelei (mynetwork1 și mynetwork2) trebuie găsite mai întâi.Numele lor arată de obicei ca br-07d0d51191df sau br-85f51d1cfbf6 și pot fi găsite folosind comanda „ifconfig” sau „ip link show”. Deoarece există mai multe interfețe bridge, pentru a le identifica pe cele corecte pentru rețelele de interes, adresa inet a interfeței bridge (afișată în ifconfig) ar trebui să se potrivească cu adresa de subrețea afișată în comanda „docker network inspect mynetwork1”

sudo iptables -I DOCKER-USER -i br-########1 -o br-########2 -j ACCEPT
sudo iptables -I DOCKER-USER -i br-########2 -o br-########1 -j ACCEPT

Regulile pot fi reglate fin pentru a permite doar comunicațiile între IP-uri specifice. De exemplu,

sudo iptables -I DOCKER-USER -i br-########1 -o br-########2 -s 172.17.0.2 -d 172.19.0.2 -j ACCEPT
sudo iptables -I DOCKER-USER -i br-########2 -o br-########1 -s 172.19.0.2 -d 172.17.0.2 -j ACCEPT
uday avatar
drapel ke
Răspunsul dumneavoastră este să creați o nouă punte de rețea pentru toate containerele din el. Dar întrebarea mea este diferită, întreb despre conectivitatea între containere de la două poduri de rețea diferite

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.