node.js - 如何容器化 Vue.js 应用程序?

标签 node.js docker vue.js vuejs2 dockerfile

我无法在 http://172.17.0.2:8080/ 上本地访问该站点在 Chrome 中,我得到“172.17.0.2 响应时间太长”。

我使用inspect命令获取容器的IP地址。

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} e83c95d05d63

我使用的运行命令。

docker run -it -p 8080:8080 --name portfolio-vue portfolio-vue:v1

还有我的 Dockerfile

FROM node:7.7-alpine

ADD package.json /tmp/package.json
RUN cd /tmp && npm install

RUN mkdir -p /opt/portfolio-vue && cp -a /tmp/node_modules /opt/portfolio-vue-app

WORKDIR /opt/portfolio-vue
COPY . /opt/portfolio-vue

EXPOSE 8080
CMD ["npm", "start"]

最佳答案

在默认的 vue-cli 设置中,npm start(您正在使用的命令)运行 npm run dev

同样,默认情况下,npm run dev 仅绑定(bind)到 localhost。

--host 0.0.0.0 添加到 package.json 中的 webpack-dev-server 行,以便您可以从 < strong>在 docker 容器之外:

来自类似的东西:

  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",

类似于 (add --host 0.0.0.0):

    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",

注意:我假设,因为您使用了 CMD ["npm", "start"],您正在创建一个用于开发或调试目的的容器。如果你的目标是生产,你真的应该考虑生成包 (npm run build) 并直接在像 nginx 这样的 HTTP 服务器上提供生成的文件(也可以在 docker 中创建)。

关于node.js - 如何容器化 Vue.js 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49758077/

相关文章:

javascript - 如何使用 javascript 设置具有非空值的 firestore 文档字段

docker - 哦,我的 Zsh 在 docker 中安装失败

vue.js - 在 VueJS 组件中导入使用 getElementById 的模块

javascript - 单击 vuejs 中不同组件的复选框时如何隐藏内容?

Vue.js 应用电话号码格式

javascript - 如何在 Mongoose 中添加集合?

javascript - 如何使用 NodeJS 将 PDF 转换为 DOCX 或 URL 转换为 DOCX?

node.js - 当我尝试在环回 (strongloop) web 应用程序中安装依赖项时出现 Npm 错误

java - 无法连接到在 docker 容器内运行的嵌入式 undertow 服务器

docker - 在节点的 list list 条目中没有未知的匹配 list