sql >> Database >  >> RDS >> PostgreSQL

Django en Postgresql koppelen met Docker

Het Dockerbestand want je Django-afbeelding mag poort 5432 niet vrijgeven aangezien er geen Postgresql-server zal draaien in een container die op basis van die afbeelding is gemaakt:

FROM python:3-onbuild
EXPOSE 8000
CMD ["/bin/bash"]

Terwijl u de Django-container uitvoert, koppelt u deze met

--link my-postgres:my-postgres

uw instellingen voor de database zijn onjuist.

In de Django-container:127.0.0.1 verwijst naar de Django-container die geen enkele service uitvoert die luistert op poort 5432.

Dus uw settings.py-bestand zou moeten zijn:

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

Terwijl u uw Django-container uitvoert met:

sudo docker run --link my-postgres:db -v /home/mpmsp/project/ezdict/ezbkend:/usr/src/app -name my-app -i -t my-app

dan je settings.py bestand zou moeten zijn:

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


  1. Overzicht creëren over verschillende databases

  2. Hoe exporteer je miljoenen rijen van MySQL naar CSV via PHP zonder het geheugen uit te putten?

  3. Upload afbeeldingen als BLOB's in Oracle met behulp van PHP

  4. Hoe mysql-query te vertalen om orm te vervolgen?