sql >> Database >  >> RDS >> PostgreSQL

Docker wacht tot postgresql actief is

Ik heb enkele uren besteed aan het onderzoeken van dit probleem en ik heb een oplossing gevonden. Docker depends_on overweeg gewoon het opstarten van een service om een ​​andere service uit te voeren. Dan gebeurt het want zodra db is gestart, service-app probeert verbinding te maken met uw db , maar het is niet klaar om verbindingen te ontvangen. U kunt dus db . controleren gezondheidsstatus in app-service om te wachten op verbinding. Hier is mijn oplossing, het loste mijn probleem op. :)Belangrijk:ik gebruik docker-compose versie 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:

In dit geval is het niet nodig om een ​​.sh-bestand aan te maken. Ik hoop dat het jullie helpt;)cya



  1. Wat is de meest efficiënte manier om de tijd vanaf datetime te trimmen?

  2. Maak een tabel in MySQL

  3. Hoe maak je een schema in Oracle met SQL Developer?

  4. Optioneel argument in PL/pgSQL-functie