我有一个带有 @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 runserve
使用
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"
关于node.js - 如何在docker中启动vuejs ssr服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67809219/