node.js – 如何容纳Vue.js应用程序?

前端之家收集整理的这篇文章主要介绍了node.js – 如何容纳Vue.js应用程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我无法在Chrome上的http://172.17.0.2:8080/本地访问该网站,我得到“172.17.0.2花了太长时间才能回复”.@H_502_2@

我使用inspect命令获取容器的IP地址.@H_502_2@

@H_502_2@

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

我用过的run命令.@H_502_2@

@H_502_2@

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

还有我的Dockerfile@H_502_2@

@H_502_2@

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.@H_502_2@

而且,默认情况下,npm run dev仅绑定到localhost.@H_502_2@

将–host 0.0.0.0添加到package.json中的webpack-dev-server行,以便可以从docker容器外部访问它:@H_502_2@

来自:@H_502_2@

@H_502_2@

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

对于类似的东西(添加–host 0.0.0.0):@H_502_2@

@H_502_2@

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

注意:我假设,因为您使用了CMD [“npm”,“start”],您正在创建一个用于开发或调试目的的容器.如果您的目标是生产,那么您应该考虑生成捆绑包(npm run build)并直接在HTTP服务器上提供生成文件,例如Nginx(也可以在docker中创建).

猜你在找的Docker相关文章