DockerでDjango Qucikstart

DockerでDjango動いたら幸せになるんじゃないかという青い鳥を求めました。
とりあえず公式のQuickStartをやってみます。

https://docs.docker.com/compose/django/

なんにしろvenvで仮想環境を構築。

$ python3 -m venv dd_project
$ cd dd_prioject
$ source bin/activate

pipでdjango入れておきます。

$ pip install --upgrade pip
$ pip install "django==2.0.1"

Dockerfile作れとのこと。

$ vi Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

psycopg2がいるらしいのでpipで入れておきます。

$ pip install psycopg2

requirements.txtを使うらしいので、作っときます。pipのいいところ。

$ pip freeze > requirements.txt

compose.ymlがいるとのこと。ここらへんのdocker設定、やったことあるはずなのにきちんと理解してないんですよね。。学ばねば。

$ vi docker-compose.yml
version: '3'

services:
db:
image: postgres
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db

んで、docker-compose

$ docker-compose run web django-admin.py startproject composeexample .

これがよく分からないのであとで追わねば。まあwebサーバとしてrunして、djangoの新規プロジェクトを作ってる、っていうイメージの設定を書いてるんでしょね。

でup、と。

$ docker-compose up

これだ確かにlocalhost:8000でアクセスできます。
postgresも動いているっぽいです。

これでdbをrdsで動くようにして、サーバはdockerrunじゃなくてwebでって設定できればecsにあげるだけで動く幸せシステムができるんでしょか。

  1. I have noticed you don’t monetize php-seed.net, don’t waste your traffic, you can earn additional
    bucks every month with new monetization method. This is the best adsense alternative for any type of website (they approve all sites), for
    more info simply search in gooogle: murgrabia’s tools

Reply to BestValarie ¬
Cancel reply


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください