PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Docker czeka na uruchomienie postgresql

Spędziłem kilka godzin na badaniu tego problemu i otrzymałem rozwiązanie.Docker depends_on po prostu rozważ uruchomienie usługi, aby uruchomić inną usługę. Dzieje się tak, ponieważ tak szybko, jak db jest uruchomiona, aplikacja serwisowa próbuje połączyć się z db , ale nie jest gotowe do odbierania połączeń. Możesz więc sprawdzić db stan kondycji w usłudze aplikacji, aby czekać na połączenie. Oto moje rozwiązanie, rozwiązało mój problem. :)Ważne:używam docker-compose w wersji 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:

W tym przypadku nie jest konieczne tworzenie pliku .sh. Mam nadzieję, że ci to pomoże;)cya



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zdobądź drzewo rodziców + dzieci z pg-obietnicą

  2. Przewodnik po użyciu pgBouncera w PostgreSQL

  3. Jaki jest właściwy indeks do odpytywania struktur w tablicach w jsonb Postgresa?

  4. Inny db do testowania w Django?

  5. Jak wyodrębnić numer tygodnia z daty w PostgreSQL?