A multi-container Django and Postgres Docker Project.
- Create and customize
.env/postgres.env
file.
POSTGRES_DB=your-db-name
POSTGRES_USER=your-db-username
POSTGRES_PASSWORD=choose-a-strong-password
POSTGRES_HOST=db
POSTGRES_PORT=5432
- Build and start the containers.
$ docker-compose up
- Browse to localhost:8000/ to verify that Django is running successfully from the containers.
- If you like to be able to run Django commands from your local machine as well, create and
customize a
.env/django_local.env
file.
DJANGO_SECRET_KEY='move-your-Django-secret-to-this-file'
POSTGRES_DB=same-as-postgres.env
POSTGRES_USER=same-as-postgres.env
POSTGRES_PASSWORD=same-as-postgres.env
POSTGRES_HOST=localhost
POSTGRES_PORT=same-as-postgres.env
- Source and export local environment settings.
$ source .env/django_local.env && export $(cut -d '=' -f 1 .env/django_local.env)
- Create, Activate a
virtualenv
, e.g. usingvirtualenvewrapper
.
$ mkvirtualenv venv
- Install requirements
(venv) $ pip install -r requirements.txt
- Run initial Django migration.
(venv) $ python manage.py migrate
- Run a local server on a different port.
(venv) $ python manage.py runserver 8080
-
Stop the local server and the docker containers.
-
Create your Django super user
(venv) $ python manage.py createsuperuser
- Run your local server and/or docker containers and verify that you can login to the admin site by navigating to: local server: localhost:8080/admin docker server: localhost:8000/admin