node.js - 如何在 docker 中启动 vuejs ssr 服务器
问题描述
我有一个带有 @akryum/ssr 的 vuejs 应用程序
在做的时候
npm run ssr:serve
或者
npm run ssr:start
一切正常。但是当我尝试使用 docker 时:
version: '3.7'
services:
npm:
build:
context: ./
ports:
- "8080:8080"
volumes:
- ./:/var/www/html
Dockerfile
FROM node:14.0.0
WORKDIR /var/www/html
EXPOSE 8080
CMD ["npm", "run", "serve"]
只有没有 ssr 的选项有效: npm run serve
使用
CMD ["npm", "run", "ssr:start"]
我打开 http://localhost:8080/ 并得到错误
ERR_CONNECTION_RESET
在我的 package.json
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"ssr:build": "vue-cli-service ssr:build",
"ssr:serve": "vue-cli-service ssr:serve",
"ssr:start": "PORT=8080 cross-env NODE_ENV=production vue-cli-service ssr:serve --mode production"
},
在启动时我看到
npm_1 | [16:36:39] Server listening on localhost:8080
表示端口正确
解决方案
我找到了解决办法!
在 package.json 中添加了--host '0.0.0.0'
"ssr:start": "cross-env NODE_ENV=production vue-cli-service ssr:serve --mode production --host '0.0.0.0' --port 8080"
推荐阅读
- react-native - react native - 使用“prop-types”在组件中回调
- angular6 - 获取 TypeError: .finalize 不是 Rxjs6 中的函数
- node.js - 将全局变量注入节点上下文
- python - 我尝试在 ubuntu 中安装 python 3.6 但每次我在终端中发出命令时都会显示错误:
- python - 运行两个单独的 for 循环后在 csv 文件中保存两列
- python-3.x - 如何使用 aiohttp 检查 url 状态码?
- ios - 演示 react native ios 应用程序。如何使用苹果开发者帐户?
- json - 如何在 Power BI 中拆分 JSON 列
- angularjs - AngularJS 指令 - 访问模板中的 $rootScope 变量
- indexing - 如何执行 IndexPage Hook Contao