简体   繁体   中英

why is docker compose breaking my Next.js build

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.

Project structure:

App>
  DB>
  UI>
    pages>
    public>
    components>
    styles>
    .dockerignore
    Dockerfile
    package.json
    tsconfig.json
    yarn.lock
  .gitignore
  docker-compose.yml
  readme.md

Dockerfile:

#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"]

docker-compose.yml

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!

Okay, about 30 seconds after posting this question I figure it out.

This line was breaking everything and was completely unnecessary 😃

volumes: 
    - ./UI:/app

Walking away for a while and looking with fresh eyes always helps!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM