डेटाबेस डाकिया में Django के साथ? [डुप्लिकेट]

Nov 26 2020

उदाहरण के लिए मैं Django में डिफॉल्ट सेटिंग्स का उपयोग करता हूं

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'database',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }

जब मेरा डी.बी.सी.

depends_on:
          - db

मैं अपने को बदलने बदलना चाहिए 'HOST'पैरामीटर '127.0.0.1'के लिए'db'

क्या आप इस प्रक्रिया को समझा सकते हैं

पहले ही, आपका बहुत धन्यवाद

जवाब

1 AbdulRehmanCh Nov 26 2020 at 02:26

हां, आपको होस्ट को db में बदलने की आवश्यकता है। आप अपनी सेटिंग में पर्यावरण चर का उपयोग नीचे की तरह भी कर सकते हैं।

DATABASES = {
"default": {
    "ENGINE": os.environ.get("SQL_ENGINE"),
    "NAME": os.environ.get("SQL_DATABASE"),
    "USER": os.environ.get("SQL_USER"),
    "PASSWORD": os.environ.get("SQL_PASSWORD"),
    "HOST": os.environ.get("SQL_HOST"),
    "PORT": os.environ.get("SQL_PORT"),
}

}

और पर्यावरण वैरिएबल को डॉकटर-कंपोज करें या env_file जोड़ें। नीचे डॉकटर-कंपोज है।

services:
  web:
    restart: always
    build:
      context: ./mmd_backend
      dockerfile: Dockerfile.prod
    command: gunicorn mmd_backend.wsgi:application --bind 0.0.0.0:8000
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    expose:
      - 8000
    env_file:
      - ./.env.prod
    depends_on:
      - db
  db:
    build: ./pg12-3.0
    ports:
      - 5436:5432
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - ./.env.prod.db
  nginx:
    build: ./nginx
    restart: always
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    ports:
      - 8000:8000
    depends_on:
      - web

volumes:
  postgres_data:
  static_volume:
  media_volume:

और env फ़ाइल बलो के रूप में है

#.env

DEBUG=1
SECRET_KEY=7bhlblY8pY
SQL_ENGINE=django.contrib.gis.db.backends.postgis
SQL_DATABASE=db_name
SQL_USER=db_user
SQL_PASSWORD=db_password
SQL_HOST=db
SQL_PORT=5432