postgres を docker と django に接続する

王林
リリース: 2024-08-08 15:36:02
オリジナル
1334 人が閲覧しました

Connect postgres with docker and django

PostgreSQL を Docker および Django に接続するには、次の手順に従います。

  1. Docker と Docker Compose をセットアップする:
    Docker と Docker Compose がマシンにインストールされていることを確認してください。

  2. Docker Compose ファイルを作成します:
    docker-compose.yml ファイルを作成して、Django と PostgreSQL のサービスを定義します。

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. 依存関係をインストールします: requirements.txt に必要な依存関係が含まれていることを確認してください。
Django>=3.2,<4.0
psycopg2-binary>=2.8,<3.0
ログイン後にコピー
  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
ログイン後にコピー

これで、動作する Django アプリケーションが PostgreSQL データベースに接続され、両方とも Docker コンテナ内で実行されるはずです。アプリケーションには http://localhost:8000 でアクセスできます。

以上がpostgres を docker と django に接続するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!