为什么 docker compose 破坏了我的 Next.js 构建
why is docker compose breaking my Next.js build
我一直在使用 Next.js 和 PostgreSQL 开发应用程序。我有 3 个 docker 文件,一个用于托管我的 next.js 应用程序,两个用于两个 PostgreSQL 数据库。当 运行ning docker build
和 docker run
时,我对它们中的任何一个都没有问题,但是当我尝试设置 docker compose 并且两个数据库容器运行良好但是 Next.js服务器给我
next start
/bin/sh: next: not found
由于 docker-compose 对数据库工作正常,我只包括 Dockerfile 和 docker-compose 的一部分 Next.js 应用程序。
项目结构:
App>
DB>
UI>
pages>
public>
components>
styles>
.dockerignore
Dockerfile
package.json
tsconfig.json
yarn.lock
.gitignore
docker-compose.yml
readme.md
Docker 文件:
#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
有人可以帮我确定我的设置有什么问题吗?就像我说的 docker build 和 docker 运行 完全没有问题所以它一定是我的 docker-compose 文件的问题。谢谢!
好的,在发布这个问题后大约 30 秒我弄明白了。
这一行破坏了一切,完全没有必要
volumes:
- ./UI:/app
走开一会儿,用新鲜的眼光看总是有帮助的!
我一直在使用 Next.js 和 PostgreSQL 开发应用程序。我有 3 个 docker 文件,一个用于托管我的 next.js 应用程序,两个用于两个 PostgreSQL 数据库。当 运行ning docker build
和 docker run
时,我对它们中的任何一个都没有问题,但是当我尝试设置 docker compose 并且两个数据库容器运行良好但是 Next.js服务器给我
next start
/bin/sh: next: not found
由于 docker-compose 对数据库工作正常,我只包括 Dockerfile 和 docker-compose 的一部分 Next.js 应用程序。
项目结构:
App>
DB>
UI>
pages>
public>
components>
styles>
.dockerignore
Dockerfile
package.json
tsconfig.json
yarn.lock
.gitignore
docker-compose.yml
readme.md
Docker 文件:
#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
有人可以帮我确定我的设置有什么问题吗?就像我说的 docker build 和 docker 运行 完全没有问题所以它一定是我的 docker-compose 文件的问题。谢谢!
好的,在发布这个问题后大约 30 秒我弄明白了。
这一行破坏了一切,完全没有必要
volumes:
- ./UI:/app
走开一会儿,用新鲜的眼光看总是有帮助的!