반응형
1. docker-compose.yml 파일에 postgresql 관련 내용을 작성한다.
depends_on:
- db
db:
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=do_it_db_user
- POSTGRES_PASSWORD=do_it_db_password
- POSTGRES_DB=do_it_dev
volumes:
postgres_data:
2. settings.py 파일에 db 관련 내용을 작성한다.
DATABASES = {
'default': {
'ENGINE': os.environ.get("SQL_ENGINE", 'django.db.backends.sqlite3'),
'NAME': os.environ.get('SQL_DATABASE', os.path.join(BASE_DIR, 'db.sqlite3')),
'USER': os.environ.get('SQL_USER', 'user'),
'PASSWORD': os.environ.get('SQL_PASSWORD', 'password'),
'HOST': os.environ.get('SQL_HOST', 'localhost'),
'PORT': os.environ.get("SQL_PORT", '5432'),
}
}
3. .env.dev 파일에 db 관련 내용을 작성한다.
SQL_ENGINE = django.db.backends.postgresql
SQL_DATABASE = do_it_dev
SQL_USER = do_it_db_user
SQL_PASSWORD = do_it_db_password
SQL_HOST = db
SQL_PORT = 5432
4. docker-compose build하고 docker-compose up으로 실행한다.
5. 실행 시 psycopg2 모듈이 없다고 나오면 pip install psycopg2-binary를 실행하여 모듈을 설치한다.
6. 설치 후 docker 이미지 반영을 위해 pip freeze > requirements.txt를 실행한다.
7. docker-compose exec web python manage.py migrate 명령으로 db정보를 migration 한다
8. docker-compose exec web python manage.py createsuperuser 명령으로 컨테이너에 관리자를 만든다.
반응형
'기타-프로그래밍' 카테고리의 다른 글
docker compose에서 특정 파일로 실행 시키기 (0) | 2022.03.06 |
---|---|
Gunicorn Web Server Gateway Interface를 docker에서 사용하기 (0) | 2022.03.06 |
Django venv를 Docker로 옮기기 (0) | 2022.03.05 |
Bootstrap 시작하기 (0) | 2022.02.08 |
Maven 명령어 정리 (0) | 2018.01.25 |