【发布时间】:2019-10-31 15:29:02
【问题描述】:
我有一个非常基本的Dockerfile,它安装Vue CLI 并暴露端口8080:
FROM node
RUN yarn global add @vue/cli
EXPOSE 8080
我有一个docker-compose.yml 将主机端口连接到容器上暴露的端口:
version: '3'
services:
vue:
build:
context: .
dockerfile: ./Dockerfile
volumes:
- .:/home/node
working_dir: '/home/node'
ports:
- '8080:8080'
我用docker-compose run vue bash 运行一个容器,然后用vue create foo 创建一个Vue 项目。
在项目文件夹中,我添加了vue.config.js:
module.exports = {
devServer: {
host: '0.0.0.0',
port: 8080
}
}
当我使用yarn serve 运行开发服务器时,我看到了:
App running at:
- Local: http://localhost:8080/
It seems you are running Vue CLI inside a container.
Access the dev server via http://localhost:<your container's external mapped port>/
虽然它显示它在本地托管在 localhost 而不是 0.0.0.0 这似乎是 a known display bug。
但是,我无法从主机通过http://localhost:8080 访问 Vue。
我查看了多个设置教程,但无法弄清楚为什么我无法访问 Vue 开发服务器。
【问题讨论】:
-
vue-cli 服务器用于开发。您是否有理由更喜欢使用它而不是推荐的 nginx 或类似 express/hapi 服务器的东西?
-
我正在尝试将其用于本地开发
标签: docker vue.js vuejs2 docker-compose vue-cli