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',
}
}