在Docker中运行nuxt js应用程序

JavaScript Vue.js

神乐小哥Near

2020-03-26

我正在尝试在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在浏览器中单击什么也没得到可能是什么原因?

第3755篇《在Docker中运行nuxt js应用程序》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
番长樱梅 2020.03.26

默认情况下,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上进行侦听的方法。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android