nginx-gunicorn-django-postgres
$ docker build -t tetsis/simple-django-reverse-proxy -f nginx/Dockerfile .
$ docker build -t tetsis/simple-django-app -f django/Dockerfile .
$ docker build -t tetsis/simple-django-database -f postgres/Dockerfile .
$ openssl genrsa 2048 > server.key
$ openssl req -new -key server.key > server.csr
$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
デフォルトのnginx.confから以下を変更
80番ポートのserver句を削除
ssl_certificateとssl_certificate_keyを同一ディレクトリに合わせる
/static/のlocationを追加
/のlocationにプロキシ設定を追加
デフォルトのpostgresql.confから以下を変更
timezone = 'Asia/Tokyo'
log_timezone = 'Asia/Tokyo'
`listen_addresses = '*'
nginx, Django, Postgresqlすべてコンテナで動かす場合
Postgresqlサーバでは事前にユーザとデータベースを作成しておく
# su - postgres
-bash-4.2$ psql -c "CREATE ROLE django WITH LOGIN PASSWORD 'django';"
CREATE ROLE
-bash-4.2$ psql -c "CREATE DATABASE django OWNER django ENCODING 'utf8';"
CREATE DATABASE
-bash-4.2$ exit
docker-command-without-postgres.ymlのdjangoコンテナの環境変数「DATABASE_HOST」にはPostgresqlサーバのアドレスを指定してから、以下のコマンドを実行する
# docker-compose -f docker-compose-without-postgres.yml up -d
# docker exec nginx-gunicorn-django-postgres_django_1 ./init.sh
# python3.6 manage.py test