"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > docker 및 django를 사용하여 postgres 연결

docker 및 django를 사용하여 postgres 연결

2024-08-18에 게시됨
검색:196

Connect postgres with docker and django

PostgreSQL을 Docker 및 Django와 연결하려면 다음 단계를 따르세요.

  1. Docker 및 Docker Compose 설정:
    Docker와 Docker Compose가 컴퓨터에 설치되어 있는지 확인하세요.

  2. Docker Compose 파일 생성:
    Django 및 PostgreSQL에 대한 서비스를 정의하기 위해 docker-compose.yml 파일을 만듭니다.

version: '3.8'

services:
  db:
    image: postgres:13
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
    volumes:
      - postgres_data:/var/lib/postgresql/data

  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

volumes:
  postgres_data:
  1. Django용 Dockerfile 만들기: Django 프로젝트 루트에 Dockerfile을 만듭니다.
# Use the official Python image from the Docker Hub
FROM python:3.9

# Set the working directory in the container
WORKDIR /code

# Copy the requirements file into the container
COPY requirements.txt /code/

# Install the dependencies
RUN pip install -r requirements.txt

# Copy the rest of the application code into the container
COPY . /code/
  1. PostgreSQL을 사용하도록 Django 구성: PostgreSQL을 사용하려면 Django 프로젝트에서 settings.py를 업데이트하세요.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'db',
        'PORT': '5432',
    }
}
  1. 설치 종속성: 요구사항.txt에 필요한 종속성이 포함되어 있는지 확인하세요.
Django>=3.2,=2.8,



  1. Docker Compose 실행: Docker Compose를 사용하여 컨테이너를 빌드하고 실행하세요.
docker-compose up --build
  1. 데이터베이스 마이그레이션: 컨테이너가 실행되면 마이그레이션을 적용하여 PostgreSQL 데이터베이스를 설정합니다.
docker-compose exec web python manage.py migrate
  1. 수퍼유저 생성(선택 사항): 관리자 패널에 액세스하려면 Django 슈퍼유저를 생성하세요.
docker-compose exec web python manage.py createsuperuser

이제 PostgreSQL 데이터베이스에 연결되어 작동하는 Django 애플리케이션이 있어야 하며 둘 다 Docker 컨테이너에서 실행됩니다. http://localhost:8000.

에서 애플리케이션에 액세스할 수 있습니다.
릴리스 선언문 이 글은 https://dev.to/hitesh_chauhan_42485a44af/connect-postgres-with-docker-and-django-7c0?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3