Data 계층 컨테이너화
- 데이터베이스를 sqlite에서 Postgres로 변경
- 컨테이너 환경에 Postgres를 구동
1. docker volume create poll-db-volume 명령어로 투표 서비스 데이터베이스용 볼륨을 생성한다.
그 후 docker volume ls 와 docker volume inspect poll-db-volume 명령어로 DB 볼륨이 마운트된 걸 확인한다.
2. Postgresql 데이터베이스를 컨테이너 기반으로 실행하기 위해
docker run -p 5432:5432 --rm --name poll_db \
-v poll-db-volume:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=1234qwer \
-e POSTGRES_USER=fast \
-e POSTGRES_DB=poll \
-d postgres
명령어를 입력한다. -d 옵션으로 postgres를 백그라운드로 실행시키고 -e 옵션으로 환경변수 값을 설정했다.
-v 는 볼륨 옵션이다. 만든 볼륨을 postgresql의 위치에 지정하면 DB가 볼륨에 저장된다.
3. docker ps 명령어로 postgres DB컨테이너가 잘 실행되는 걸 볼 수 있다.
4. sudo apt install -y postgresql-client 명령어를 입력하고
psql -h 127.0.0.1 -U fast -d poll 명령어로 psql client로 Database에 접속한다. 비밀번호: 1234qwer
그리고 \du 명령으로 DB 유저를 확인한다.
빠져 나올 때는 \q 명령을 입력한다.
5. settings.py에서 DB 설정정보를 postgresql로 수정한다.
6. projects/Django-Poll-App/requirements.txt 에 "psycopg2==2.9.3" 를 추가한다.
7. sudo apt install -y libpq-dev python-dev 명령어를 통해 OS 종속성에 필요한 패키지를 설치한다.
8. pip3 install -r requirements.txt 명령어로 postgresql 클라이언트 패키지를 설치한다.
9. python3 manage.py migrate 명령어로 데이터베이스 스키마를 생성한다.
10. python3 manage.py createsuperuser 명령어로 관리자 계정을 생성한다.
11. 더미 데이터를 생성하기 위해 pip3 install faker 명령어로 faker라는 툴을 다운로드 받고
python3 manage.py shell 명령어로 파이썬 쉘 환경으로 들어가서
import seeder
seeder.seed_all(30) 명령어를 통해 더미 데이터 30개를 생성한다.
12. python3 manage.py runserver 명령어로 서버를 구동한다.
'리눅스 > Part1. Ch04. 웹 어플리케이션 컨테이너화' 카테고리의 다른 글
04. (실습) 앱 컨테이너화 - App 서버 구성 (0) | 2022.12.06 |
---|---|
05. (실습) 앱 컨테이너화 – docker-compose (추가, 수정 필요) (0) | 2022.06.28 |
05. (실습) 앱 컨테이너화 - Web 서버 구성 (0) | 2022.06.28 |
02. Docker 기본명령 소개 (0) | 2022.06.28 |
01. Django 기반 3티어 과제 소개 (0) | 2022.06.28 |