Um PostgreSQL mit Docker und Django zu verbinden, befolgen Sie diese Schritte:
Docker und Docker Compose einrichten:
Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem Computer installiert sind.
Erstellen Sie eine Docker Compose-Datei:
Erstellen Sie eine docker-compose.yml-Datei, um die Dienste für Django und PostgreSQL zu definieren.
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:
# 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/
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydatabase', 'USER': 'myuser', 'PASSWORD': 'mypassword', 'HOST': 'db', 'PORT': '5432', } }
Django>=3.2,=2.8,
- Docker Compose ausführen: Verwenden Sie Docker Compose, um Ihre Container zu erstellen und auszuführen.
docker-compose up --build
- Datenbank migrieren: Sobald die Container ausgeführt werden, wenden Sie die Migrationen an, um Ihre PostgreSQL-Datenbank einzurichten.
docker-compose exec web python manage.py migrate
- Erstellen Sie einen Superuser (optional): Erstellen Sie einen Django-Superuser, um auf das Admin-Panel zuzugreifen.
docker-compose exec web python manage.py createsuperuserJetzt sollten Sie über eine funktionierende Django-Anwendung verfügen, die mit einer PostgreSQL-Datenbank verbunden ist und beide in Docker-Containern ausgeführt werden. Sie können auf Ihre Anwendung unter http://localhost:8000 zugreifen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3