无法使docker-compose像dockerfile一样工作

时间:2019-07-17 12:42:27

标签: docker docker-compose dockerfile nuxt.js

我正在尝试在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时,它不起作用。我在这里想念什么?

1 个答案:

答案 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