Dan*_*man 9 node.js docker vue.js dockerfile vuejs2
我无法在Chrome 上的http://172.17.0.2:8080/本地访问该网站,我得到"172.17.0.2花了太长时间才回复".
我使用inspect命令获取容器的IP地址.
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} e83c95d05d63
Run Code Online (Sandbox Code Playgroud)
我使用的run命令.
docker run -it -p 8080:8080 --name portfolio-vue portfolio-vue:v1
Run Code Online (Sandbox Code Playgroud)
还有我的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"]
Run Code Online (Sandbox Code Playgroud)
在默认的vue-cli设置中,npm start(您正在使用的命令)运行npm run dev.
而且,默认情况下,npm run dev仅绑定到localhost.
添加--host 0.0.0.0到您的webpack-dev-server行,package.json以便您可以从docker容器外部访问它:
来自:
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
Run Code Online (Sandbox Code Playgroud)
对于类似(add --host 0.0.0.0)的东西:
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",
Run Code Online (Sandbox Code Playgroud)
注意:我假设,因为您使用过CMD ["npm", "start"],您正在创建一个用于开发或调试目的的容器.如果您的目标是生产,那么您应该考虑生成bundle(npm run build)并直接在HTTP服务器上提供生成的文件,例如nginx(也可以在docker中创建).
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |