我正在尝试在Docker容器中部署Nuxt.js应用程序,在大多数教程中,要求创建具有以下内容的Dockerfile:
FROM node:alpine
ENV APP_ROOT /app
RUN mkdir ${APP_ROOT}
WORKDIR ${APP_ROOT}
ADD . ${APP_ROOT}
RUN npm install
RUN npm run build
ENV HOST 0.0.0.0
然后使用它来构建项目的实际映像,但是此过程花费的时间太长,因为它需要将整个项目复制到工作目录中。因此,我想将所有这些内容写在docker-compose.yml
文件中,如下所示:
version: "3"
services:
frontend:
image: node:alpine
container_name: website_frontend
ports:
- "3000:3000"
environment:
HOST: 0.0.0.0
working_dir: /app
volumes:
- ./frontend:/app
restart: always
command: sh -c "npm install && npm run build && npm run start"
但是当我得到状态ERR_EMPTY_RESPONSE
时,它不起作用。我在这里想念什么?
答案 0 :(得分:0)
在上述docker-compose.yml
中,我没有做太多更改;如果它不起作用,则npm构建应该有问题。
version: '3.7'
services:
frontend:
container_name: website_frontend
image: node:alpine
ports:
- "3000:3000"
environment:
- HOST=0.0.0.0
working_dir: /app
volumes:
- ./frontend:/app
command: bash -c "npm install && npm run build && npm run start"
restart: always