0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ConohaVPSにDockerを使ってDjango環境をつくる(Django1.10+ Gunicorn+Nginx+PostgreSQL)

Last updated at Posted at 2018-08-26

[前回の環境構築(DockerInstallまで)]
(https://qiita.com/hamakihito/items/0c6d1c0486a291300247)

##今回使った参考記事
今回はここからDockerを利用して
[Djangoの環境をDocker化する(Docker + Django + Gunicorn + nginx)その1]
(https://qiita.com/amazipangu/items/bce228f506f894cd825d)

##お詫び
結論から言うと、最終的にこの過程は諦めてます。

勉強不足が否めないので、改めて
公式のQuickStartを使って、Djangoを使ったDocker環境をつくってみます。`
[Django Quickstart]
(https://docs.docker.com/compose/django/#define-the-project-components)
[日本語版]
(http://docs.docker.jp/v1.9/compose/django.html)
→Todo:次の記事
DockerComposeでDjangoを。<写経>【Docker公式クイックスタート・ガイド:Compose と Django】

##以下挫折するまでの過程
###環境の詳細
OS
Ubuntu16.04LTS
仮想化ツール
DockerCE 18.06.1
言語
Python3.6
フレームワーク
Django1.10
WSGI
Gunicorn
Webサーバ
Nginx
データベース
PostgreSQL


では、始めていきます。

#Docker環境構築
##まずGit使えるように

$ sudo yum install git-all

##Gitからクローンしてインストール
※ここも参考に
[コマンドで操作するgit - 開発手順に沿って解説]
(https://qiita.com/sekiyaeiji/items/d0312c90bff4c37bc5dc)

//ディレクトリ用意
$ mkdir ~/gitwork
$ cd ~/gitwork
$ git init

[Dockerize Django Environment]
(https://github.com/amazipangu/docker-django)

//clone
$ git clone https://github.com/amazipangu/docker-django.git
//フォルダが作られてることを確認
$ ls
docker-django

READMEの手順を追っていきます。

$ cd docker-django/
$ docker-compose build

Create the Django project using the docker-compose command.
DockerのコマンドでDjangoプロジェクトをつくります。
一旦 testproject で

$ docker-compose exec web django-admin.py startproject testproject .
ERROR: No container found for web_1

あれ?と思ったので調べると、docker-compose upが必要らしい。
[docker-compose "up" " run" "start" コマンド 違い]
(https://qiita.com/mom0tomo/items/f536e6759d3f42d58ffc)

$ docker-compose up
〜中略〜
web_1    |     __import__(module)
web_1    | ModuleNotFoundError: No module named 'test'
web_1    | [2018-08-26 11:29:47 +0000] [7] [INFO] Worker exiting (pid: 7)
web_1    | [2018-08-26 11:29:47 +0000] [1] [INFO] Shutting down: Master
web_1    | [2018-08-26 11:29:47 +0000] [1] [INFO] Reason: Worker failed to boot.
docker-django_web_1 exited with code 3

となって終わらずループしてたので、
Ctrl+Cで強制終了させる。

^CGracefully stopping... (press Ctrl+C again to force)
Stopping docker-django_nginx_1 ... done
Stopping docker-django_cli_1   ... done
Stopping docker-django_web_1   ... done
Stopping docker-django_db_1    ... done

調べると、Gunicornのあたりの問題のようで、一旦不要フォルダを削除するといいというお話
なので、ならって以下のコマンド実行

$ docker system prune -a -f

いろいろ削除されたので、もう一度以下を実行。

$ docker-compose up
〜中略〜

やっぱだめw
探してると、 Exitになってたりするのを見つけれるコマンドがあるとのこと。

$ docker-compose ps
        Name                       Command                State     Ports
-------------------------------------------------------------------------
docker-django_cli_1     /bin/sh -c while true; do  ...   Exit 137        
docker-django_db_1      docker-entrypoint.sh postgres    Exit 137        
docker-django_nginx_1   nginx -g daemon off;             Exit 137        
docker-django_web_1     gunicorn test.wsgi -b 0.0. ...   Exit 3    

[What causes error 137 in Docker]
(https://bobcares.com/blog/error-137-docker/)
上記リンクによると、Error 137は、メモリ不足でコンテナが'kill'されているということらしい。
コンテナのconfigをいじれとか言ってるのですが、Exit 3が気になるのでちょっと後回しにしてみる。

Exit3 ようわからん。

#あきらめる
結果的に、Dockerの使い方をもう少し学ばないといけないと思うので、まず公式チュートリアルからやってみます。ありがとうございました。
->次の記事
DockerComposeでDjangoを。<写経>【Docker公式クイックスタート・ガイド:Compose と Django】

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?