sql >> Databasteknik >  >> RDS >> PostgreSQL

Docker väntar på att postgresql ska köras

Jag har ägnat några timmar åt att undersöka det här problemet och jag har en lösning. Docker depends_on överväg bara tjänststart för att köra en annan tjänst. Än det händer eftersom så snart som db startas försöker service-appen att ansluta till din db , men det är inte redo att ta emot anslutningar. Så du kan kontrollera db hälsostatus i apptjänst för att vänta på anslutning. Här är min lösning, det löste mitt problem. :)Viktigt:Jag använder docker-compose version 2.1.

version: '2.1'

services:
  my-app:
    build: .
    command: su -c "python manage.py runserver 0.0.0.0:8000"
    ports:
       - "8000:8000"
    depends_on:
      db:
        condition: service_healthy
    links:
      - db
    volumes:
      - .:/app_directory

  db:
    image: postgres:10.5
    ports:
      - "5432:5432"
    volumes:
      - database:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  database:

I det här fallet är det inte nödvändigt att skapa en .sh-fil. Jag hoppas att den hjälper er;)cya



  1. Påverkar Sql JOIN-order prestanda?

  2. Optimeringströsklar – gruppering och aggregering av data, del 4

  3. Får endast månad och år från SQL DATE

  4. ODP.NET Oracle.ManagedDataAccess orsakar ORA-12537 nätverkssession slutet av filen