PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Docker đợi cho postgresql đang chạy

Tôi đã dành vài giờ để điều tra vấn đề này và tôi đã có giải pháp. chỉ cần xem xét khởi động dịch vụ để chạy một dịch vụ khác. Hơn nó xảy ra bởi vì ngay sau khi db được khởi động, ứng dụng dịch vụ cố gắng kết nối với db ur , nhưng nó chưa sẵn sàng để nhận kết nối. Vì vậy, bạn có thể kiểm tra db tình trạng sức khỏe trong dịch vụ ứng dụng để chờ kết nối. Đây là giải pháp của tôi, nó đã giải quyết được vấn đề của tôi. :) Quan trọng:Tôi đang sử dụng docker-compile phiên bản 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:

Trong trường hợp này, không cần thiết phải tạo tệp .sh, tôi hy vọng nó sẽ giúp ích cho các bạn;) 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. django.db.utils.OperationalError Không thể kết nối với máy chủ

  2. Cách tốt nhất để kiểm tra giá trị trống hoặc rỗng

  3. PHP và Postgres:bắt lỗi?

  4. Các cập nhật cho trường JSON không tồn tại trong DB

  5. Sử dụng địa chỉ email làm khóa chính?