1. t2 small로 Scale UP
2. 도커 플러그인 설치
docker, python
3. 디버그용 docker compose 작성
vim docker-compose.debug.yml
"""
version: "3"
services:
db:
image: postgres
volumes:
- poll-db-volume:/var/lib/postgresql/data
environment:
- POSTGRES_DB=poll
- POSTGRES_USER=fast
- POSTGRES_PASSWORD=1234qwer
app:
#image: poll_app
build:
context: .
dockerfile: ./Dockerfile
command: ["sh", "-c", "pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 manage.py runserver 0.0.0.0:8000 --nothreading --noreload"]
ports:
- 8000:8000
- 5678:5678
volumes:
- ./:/app
environment:
- POSTGRES_DB=poll
- POSTGRES_USER=fast
- POSTGRES_PASSWORD=1234qwer
- POSTGRES_HOST=db
depends_on:
- db
web:
image: poll_web
ports:
- "80:80"
depends_on:
- app
volumes:
poll-db-volume:
external: true
name:
poll-db-volume
"""
4. 디버그를 위한 Visual Studio 셋팅 추가
vim .vscode/launch.json
"""
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"port": 5678,
"host": "localhost",
"pathMappings": [
{
"localRoot": "/home/ubuntu/projects/Django-Poll-App",
"remoteRoot": "/usr/src/app"
}
]
}
]
}
"""
5. Docker compose 실행
docker-compose -f docker-compose.debug.yml up -d --build
6. VS code에서 디버깅 정보 확인
7. 코드 반영 내용 실시간 확인을 위한 구성
vim docker-compose.debug.yml
# 기존
# command: ["sh", "-c", "pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 manage.py runserver 0.0.0.0:8000 --nothreading --noreload"]
# 변경
"""
...
command: ["sh", "-c", "pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 manage.py runserver 0.0.0.0:8000 --nothreading"]
...
"""
8. 새로운 설정 적용
docker-compose -f docker-compose.debug.yml up -d --build
9. 실시간 반영 정보 확인 위해 poll 리스트의 pagination 갯수 변경
vim polls/views.py
"""
# 기존 (라인 6)
# paginator = Paginator(all_polls, 6) # Show 6 contacts per page
# 변경
paginator = Paginator(all_polls, 3) # Show 6 contacts per page
"""
10. 브라우저에서 Poll 리스트 갯수 확인
'리눅스 > Part1. Ch04. 웹 어플리케이션 컨테이너화' 카테고리의 다른 글
04. (실습) 앱 컨테이너화 - App 서버 구성 (0) | 2022.12.06 |
---|---|
05. (실습) 앱 컨테이너화 – docker-compose (추가, 수정 필요) (0) | 2022.06.28 |
05. (실습) 앱 컨테이너화 - Web 서버 구성 (0) | 2022.06.28 |
03. (실습) 앱 컨테이너화 - DB 서버 구성 (0) | 2022.06.28 |
02. Docker 기본명령 소개 (0) | 2022.06.28 |