在Docker中运行nuxt js应用程序

我正在尝试在docker容器中运行nuxt应用程序。为了做到这一点,我创建了以下Dockerfile:

FROM node:6.10.2

RUN mkdir -p /app

EXPOSE 3000

COPY . /app
WORKDIR /app
RUN npm install
RUN npm run build

CMD [ "npm", "start" ]

但是,当我构建图像并运行容器(docker run -p 3000:3000 <image-id>)时,localhost:3000在浏览器中单击什么也没得到可能是什么原因?

番长樱梅2020/03/26 16:11:32

默认情况下,Docker容器中的应用程序接受上的网络流量http://127.0.0.1:3000该接口不接受外部流量,因此也就不起作用了。为了使其工作,我们需要将nuxt应用程序的HOST环境变量设置为0.0.0.0(所有ip地址)。我们可以在Dockerfile中执行以下操作:

FROM node:6.10.2

ENV HOST 0.0.0.0

# rest of the file

或在脚本的“开始”命令中的package.json中:

"scripts": { "start": "HOST=0.0.0.0 nuxt start" ...}

或任何其他使nuxt应用程序仅在容器内部的localhost上进行侦听的方法。