0

my docker-compose.yml file

version: "3"

services:
  app:
    build:
      context: .
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    command: >
      sh -c "python manage.py runserver 0.0.0.0:8000"
    environment:
      - DB_HOST=db
      - DB_NAME=app
      - DB_USER=postgres
      - DB_PASS=supersecretpassword
    depends_on:
      - db
      
  db:
    image: postgres:13-alpine
    environment:
      - POSTGRES_DB=app
      - POSTGRES_USER=postgres 

my settings.py file

DATABASES = {
       'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'HOST': os.environ.get('DB_HOST'),
        'NAME': os.environ.get('DB_NAME'),
        'USER': os.environ.get('DB_USER'),
        'PASSWORD': os.environ.get('DB_PASS'),
    }

}

when I run sudo docker-compose build it shows

django.db.utils.OperationalError: could not translate host name "db" to address: Name does not resolve

where I did mistake ?

1 Answers1

0

Try to create network for your containers.

networks:
    backend:

services:
    app:
        networks:
            - "backend"
    db:
        networks:
            - "backend"
Daniel Kusy
  • 322
  • 1
  • 3
  • 16