sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan forbinder man Docker-webappcontainer til Docker PostgreSQL-container?

Når du bruger docker-compose v2, er det ikke nødvendigt at oprette links mellem tjenester. Docker 1.9 og 1.10 giver dig mulighed for at oprette forbindelse til andre containere på det samme (brugerdefinerede) netværk gennem deres navn.

Du bør være i stand til at oprette forbindelse ved at bruge enten navnet på tjenesten eller navnet på containeren som værtsnavn. I og med at navnet på containeren er genereret af docker-compose, er dette ikke rigtig praktisk at bruge, så derfor tilføjer docker-compose også et alias med servicenavnet til hver container.

Tag dette meget enkle eksempel. Jeg har brugt en Nginx-beholder for nemheds skyld, men det samme burde gælde for din situation;

version:'2'services:web_app:image:nginx db:image:nginx 

Start først projektet (forudsat;

$ docker-compose --project-name=test up -dOpretter netværk "test_default" med standarddriverenCreating test_db_1Creating test_web_app_1 

Ping derefter "db"-tjenesten inde fra test_web_app_1 container:

$ docker exec -it test_web_app_1 ping -c 2 dbPING db (172.18.0.2):56 databytes64 bytes fra 172.18.0.2:icmp_seq=0 ttl=64 time=0.108 ms64 bytes fra 8ic.102.q. =1 ttl=64 tid=0,243 ms--- db ping statistik ---2 pakker transmitteret, 2 pakker modtaget, 0 % pakketab rundtur min/avg/max/stddev =0,108/0,175/0,243/0,068 ms 

Hvis du inspicerer test_db_1 container, kan du se, at docker-compose automatisk tilføjede et "db"-alias for test_db_1 container;

$ docker inspicer test_db_1 

Giver:(bare NetworkSettings.Networks del)

meget "EndpointID":"a941ab95586a8fdafc5075f9c5c44d745f974e5790ef6048b9e90115a22fb31f", "Gateway":"172.18.0.1", "IPAddress":"172.18.0.2", "IPPrefixLen":16, "IPv6Gateway":"", "GlobalIPv6Address":"", "GlobalIPv6PrefixLen ":0, "MacAddress":"02:42:ac:12:00:02" }}



  1. MySQL - Slet værdi i rækken, i stedet for at slette rækken

  2. Hvordan kombinerer man næsten samme vare med SQL?

  3. Adgang nægtet med korrekte legitimationsoplysninger, hvad sker der?

  4. Har brug for hjælp til at tælle de mest forskellige bøger