Para conectar PostgreSQL com Docker e Django, siga estas etapas:
Configurar o Docker e o Docker Compose:
Certifique-se de que o Docker e o Docker Compose estejam instalados em sua máquina.
Criar um arquivo Docker Compose:
Crie um arquivo docker-compose.yml para definir os serviços para Django e 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,
- Execute o Docker Compose: Use o Docker Compose para criar e executar seus contêineres.
docker-compose up --build
- Migrar o banco de dados: Assim que os contêineres estiverem em execução, aplique as migrações para configurar seu banco de dados PostgreSQL.
docker-compose exec web python manage.py migrate
- Criar um superusuário (opcional): Crie um superusuário Django para acessar o painel de administração.
docker-compose exec web python manage.py createsuperuserAgora, você deve ter um aplicativo Django funcional conectado a um banco de dados PostgreSQL, ambos rodando em contêineres Docker. Você pode acessar seu aplicativo em http://localhost:8000.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3