【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지 ①Django의 환영 페이지에 도착할 때까지
전치
독학으로 아이의 성장 앱을 만들었을 때를 기록으로 남겨 갑니다.
개발 환경은 Mac. DB는 RDS에서 Postgres를 사용합니다.
틀린 곳 등 있으면 연락 부탁드립니다.
① 장고의 환영 페이지에 도착할 때까지 <--여기입니다
② Nginx에서 장고의 환영 페이지에 도착할 때까지
③ 맞춤 사용자를 만들어 admin에 도착
④ 로그인 로그아웃하자
⑤ 사용자 등록(로그인) 기능을 만들자
⑥ 사용자별 데이터 등록 가능 ~ CRU편
⑦ 사용자 별 데이터 등록 가능 ~ 삭제편
⑧ 이미지 파일 업로드
⑨ 신장 체중을 기록하는 @ 일괄 삭제 기능 포함
⑩ 성장 곡선 그래프를 그려 보자.
⑪ 프로덕션 환경에 배포 + 다양한 수정
Goal
장고의 환영 페이지로 이동
전제
Docker와 Docker-compose는 개발 환경에 들어가 있는 것.
Mac이라면 Homebrew를 사용하면 간단하게 들어간다.
Docker 설정
어쩌면 그다지 비틀림은 없다.
DockerfileFROM python:3.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
requirement.txtDjango==2.2.2
psycopg2==2.8.4
docker-compose.ymlversion: "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.pyDATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': '*****',
'PASSWORD': '*****',
'HOST': '*****',
'PORT': 5432,
}
}
자 확인
Docker 시작
docker-compose up
localhost:8000에 액세스
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지 ①Django의 환영 페이지에 도착할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/quantity82/items/e8c2392bf982efb55f80
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
장고의 환영 페이지로 이동
전제
Docker와 Docker-compose는 개발 환경에 들어가 있는 것.
Mac이라면 Homebrew를 사용하면 간단하게 들어간다.
Docker 설정
어쩌면 그다지 비틀림은 없다.
DockerfileFROM python:3.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
requirement.txtDjango==2.2.2
psycopg2==2.8.4
docker-compose.ymlversion: "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.pyDATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': '*****',
'PASSWORD': '*****',
'HOST': '*****',
'PORT': 5432,
}
}
자 확인
Docker 시작
docker-compose up
localhost:8000에 액세스
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지 ①Django의 환영 페이지에 도착할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/quantity82/items/e8c2392bf982efb55f80
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
어쩌면 그다지 비틀림은 없다.
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.pyDATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': '*****',
'PASSWORD': '*****',
'HOST': '*****',
'PORT': 5432,
}
}
자 확인
Docker 시작
docker-compose up
localhost:8000에 액세스
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지 ①Django의 환영 페이지에 도착할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/quantity82/items/e8c2392bf982efb55f80
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': '*****',
'PASSWORD': '*****',
'HOST': '*****',
'PORT': 5432,
}
}
Docker 시작
docker-compose up
localhost:8000에 액세스
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지 ①Django의 환영 페이지에 도착할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/quantity82/items/e8c2392bf982efb55f80텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)