I have been developing an application with Next.js and PostgreSQL. I have 3 dockerfiles, one for my hosting my next.js app, and two for two PostgreSQL databases. I have no problem with any of them when running
docker build and
docker run, but when I tried setting up docker compose and the two database containers spin up fine but the Next.js server gives me
next start /bin/sh: next: not found
Since the since docker-compose is working fine for the databases I am only including the Dockerfile and the part of docker-compose for the Next.js app.
App> DB> UI> pages> public> components> styles> .dockerignore Dockerfile package.json tsconfig.json yarn.lock .gitignore docker-compose.yml readme.md
#nodeJS on top of alpine linux FROM node:alpine #copy content of UI project directory into new /app directory in image COPY . /app #change working directory to /app WORKDIR /app #install dependencies and build app RUN yarn && yarn build #expose port 3000 EXPOSE 3000 #Start app server upon docker run CMD ["yarn", "start"]
version: '3' services: app: build: context: ./UI dockerfile: Dockerfile volumes: - ./UI:/app ports: - 4960:3000
can someone please help me identify what is wrong with my set up here? Like I said docker build and docker run have no issues at all so it must be something with my docker-compose file. Thank you!
Source: Docker Questions