Para conectar PostgreSQL con Docker y Django, sigue estos pasos:
Configurar Docker y Docker Compose:
Asegúrese de que Docker y Docker Compose estén instalados en su máquina.
Crear un archivo de redacción Docker:
Cree un archivo docker-compose.yml para definir los servicios para Django y 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:
# 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,
- Ejecutar Docker Compose: Utilice Docker Compose para crear y ejecutar sus contenedores.
docker-compose up --build
- Migrar la base de datos: Una vez que los contenedores se estén ejecutando, aplique las migraciones para configurar su base de datos PostgreSQL.
docker-compose exec web python manage.py migrate
- Crear un superusuario (opcional): Cree un superusuario de Django para acceder al panel de administración.
docker-compose exec web python manage.py createsuperuserAhora, debería tener una aplicación Django funcional conectada a una base de datos PostgreSQL, ambas ejecutándose en contenedores Docker. Puede acceder a su aplicación en http://localhost:8000.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3