sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur ansluter jag Docker webbappsbehållare till Docker PostgreSQL-behållare?

När du använder docker-compose v2 behövs det inte för att skapa länkar mellan tjänster. Docker 1.9 och 1.10 låter dig ansluta till andra behållare på samma (anpassade) nätverk genom deras namn.

Du bör kunna ansluta med antingen namnet på tjänsten eller namnet på behållaren som ett värdnamn. Med tanke på att namnet på behållaren genereras av docker-compose är detta inte riktigt bekvämt att använda, så av den anledningen lägger docker-compose också till ett alias med tjänstens namn till varje behållare.

Ta detta mycket enkla exempel. Jag har använt en Nginx-behållare för enkelhetens skull, men detsamma borde gälla din situation;

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

Starta först projektet (förutsatt;

$ docker-compose --project-name=test up -d
Creating network "test_default" with the default driver
Creating test_db_1
Creating test_web_app_1

Pinga sedan "db"-tjänsten från test_web_app_1 behållare:

$ docker exec -it test_web_app_1 ping -c 2 db
PING db (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: icmp_seq=0 ttl=64 time=0.108 ms
64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.243 ms
--- db ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.108/0.175/0.243/0.068 ms

Om du inspekterar test_db_1 container kan du se att docker-compose automatiskt lade till ett "db"-alias för test_db_1 behållare;

$ docker inspect test_db_1

Ger:(bara NetworkSettings.Networks del)

"Networks": {
    "test_default": {
        "IPAMConfig": null,
        "Links": null,
        "Aliases": [
            "db",
            "002b1875e61f"
        ],
        "NetworkID": "0f9e2cddeca79e5a46c08294ed61dee273828607f99014f6410bda887626be70",
        "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. Hur man filtrerar poster med aggregatfunktion SUM

  2. Hamming avstånd på binära strängar i SQL

  3. Främmande nyckelbegränsning med vissa kolumnvärden som finns i andra tabeller

  4. Hur man hittar dubblettdata mellan två tabeller och tar bort på en