$ 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 .
- certsフォルダ内で以下のコマンドを実行
$ 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 = '*'
- 通常のアプリケーション作成
# docker-compose up -d
- 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