【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지 ①Django의 환영 페이지에 도착할 때까지

5910 단어 도커장고RDS

전치



독학으로 아이의 성장 앱을 만들었을 때를 기록으로 남겨 갑니다.
개발 환경은 Mac. DB는 RDS에서 Postgres를 사용합니다.
틀린 곳 등 있으면 연락 부탁드립니다.

 ① 장고의 환영 페이지에 도착할 때까지  <--여기입니다
Nginx에서 장고의 환영 페이지에 도착할 때까지
맞춤 사용자를 만들어 admin에 도착
로그인 로그아웃하자
사용자 등록(로그인) 기능을 만들자
사용자별 데이터 등록 가능 ~ CRU편
사용자 별 데이터 등록 가능 ~ 삭제편
이미지 파일 업로드
신장 체중을 기록하는 @ 일괄 삭제 기능 포함
성장 곡선 그래프를 그려 보자.
프로덕션 환경에 배포 + 다양한 수정

Goal



장고의 환영 페이지로 이동

전제



Docker와 Docker-compose는 개발 환경에 들어가 있는 것.
Mac이라면 Homebrew를 사용하면 간단하게 들어간다.

Docker 설정



어쩌면 그다지 비틀림은 없다.

Dockerfile
FROM python:3.7

ENV PYTHONUNBUFFERED 1

RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

requirement.txt
Django==2.2.2
psycopg2==2.8.4

docker-compose.yml
version: "3"

services:
  db-postgres:
    image: postgres

  web:
    container_name: web
    build: ./web #webの中のmanage.pyを見に行くよ
    volumes:
      - ./src:/code #srcの中をコンテナ内の/codeに繋げるよ
    ports:
      - "8000:8000" #portフォワード
    depends_on:
      - db-postgres #dbは上で指定したやつ
    command: python manage.py runserver 0.0.0.0:8000 #Django開発用サーバ起動

이 시점의 파일은 이런 느낌.
.
├── docker-compose.yml
├── src
└── web
    ├── Dockerfile
    └── requirements.txt

장고 설정



우선은 프로젝트를 만든다.
docker-compose.yml이있는 곳에서 실행.
마지막 마침표를 잊지 마십시오.
docker-compose run web django-admin startproject mysite .

그러면 다음과 같이 장고의 각 파일이 만들어진다.
.
├── docker-compose.yml
├── src
│   ├── manage.py
│   └── mysite
│       ├── __init__.py
│       ├── settings.py
│       ├── urls.py
│       └── wsgi.py
└── web
    ├── Dockerfile
    └── requirements.txt

장고에서 DB를 설정합니다.
이번에는 AWS에 Postgres RDS를 만들고 있기 때문에 거기에 연결한다.
로컬에서 AWS RDS에 액세스하는 경우 RDS 설정에서
퍼블릭 액세서빌러티를 「예」로 하지 않으면 안 되므로 주의.

setting.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '*****',
        'PORT': 5432,
    }
}

자 확인



Docker 시작
docker-compose up

localhost:8000에 액세스

좋은 웹페이지 즐겨찾기