# Nodejs + Django Error using Docker - Please Help

**URL:** <https://forums.docker.com/t/nodejs-django-error-using-docker-please-help/137823>\
**Category:** General\
**Tags:** build, docker-compose\
**Created:** [September 24, 2023, 8:11pm UTC](https://forums.docker.com/t/nodejs-django-error-using-docker-please-help/137823 "2023-09-24T20:11:19Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![taiwojazz](https://avatars.discourse-cdn.com/v4/letter/t/db5fbb/32.png) [@taiwojazz](https://forums.docker.com/u/taiwojazz)\
**Post date:** [September 24, 2023, 8:11pm UTC](https://forums.docker.com/t/nodejs-django-error-using-docker-please-help/137823/1 "2023-09-24T20:11:19Z")

</div>

It been days since i’ve been trying to get my django app to work properly with docker.

I’m using django to handle backend, postgresql for database and vanilla js for frontend. So far so good, everything that has to do with database is good. I’m only using nodejs for tailwindcss but everytime i run docker-compose, i get the below error

```auto
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "npm": executable file not found in $PATH: unknown

```

I was previously using two Dockerfiles, one for python `Dockerfile.python` and the other for node `Dockerfile,nodejs` but `back4app isn’t allowing me to deploy for production with two Dockerfiles. So i resulted back to a single Dockerfile.

```docker
# Stage 1: Build the Node.js app
FROM node:18 AS nodejs_builder

WORKDIR /usr/src/nodejs_app

COPY package*.json ./

RUN npm install

RUN chown -R node /usr/src/nodejs_app/node_modules

COPY . .

# Use npm run dev for development
CMD npm run dev

# Stage 2: Build the Python app
FROM python:3.9 AS python_builder

WORKDIR /usr/src/python_app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

# Stage 3: Final image
FROM python:3.9

WORKDIR /usr/src/app

# Copy built Node.js app from Stage 1
COPY --from=nodejs_builder /usr/src/nodejs_app ./nodejs_app

# Copy built Python app from Stage 2
COPY --from=python_builder /usr/src/python_app ./python_app

# Expose the port your application will listen on
EXPOSE 8000

# Define the command to start your application
CMD python manage.py runserver 0.0.0.0:8000

```

Here is my `docker-compose.dev.yml` file

```auto
version: '3'

services:
  db:
    image: postgres:latest
    container_name: db
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - '5433:5432'
    environment:
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      PGDATA: /var/lib/postgresql/data/

  nodejs:
    build:
      context: .
    container_name: nodejs
    tty: true
    restart: on-failure
    command: npm run dev
    volumes:
      - .:/usr/src/app
    depends_on:
      - db

  django:
    build:
      context: .
    container_name: django
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/usr/src/app
    ports:
      - '8000:8000'
    depends_on:
      - db

volumes:
  pgdata:

```

I also have this project in this repository here: [GitHub - TheJazzDev/typeguru](https://github.com/TheJazzDev/typeguru)

You can please check `CONTRIBUTING.md` to run it locally if needs be. Thanks in advance.

---

<div class="post-metadata">

**Author:** ![rimelek](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/rimelek/32/41602_2.png) [@rimelek](https://forums.docker.com/u/rimelek)\
**Post date:** [September 25, 2023, 12:19pm UTC](https://forums.docker.com/t/nodejs-django-error-using-docker-please-help/137823/2 "2023-09-25T12:19:00Z")

</div>

Since the last stage in your multi-stage build is a python image, there is no npm in it.
