【发布时间】:2018-10-09 03:13:48
【问题描述】:
我在 dockerhub 上为 grails 创建了一个 docker 镜像:
基于官方openjdk:alpine镜像
首先我运行容器:
docker container run -it --rm -p 8080:8080 -p 3000:3000 dhobdensa/docker-alpine-grails
然后我使用 vue 配置文件创建一个新的 grails 应用程序
grails create-app --inplace --profile vue
然后我运行应用程序:
./gradlew bootRun -parallel
其中启动了一个 grails REST API 服务器,以及一个使用 vue-cli 和 webpack 的 vue 客户端应用程序
服务器说您的应用程序正在 localhost:8080 上运行。这可以访问并返回预期的结果。
客户端说你的应用在 localhost:3000 上运行。但是当尝试访问它时,浏览器只会显示默认的 ERR_EMPTY_RESPONSE 页面。
我尝试了不同的浏览器和清除缓存。
任何想法为什么访问端口 3000 不起作用,但访问端口 8080 是?
其他信息
看来 gradle 本质上是在运行这个命令:
webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
这是文件:
https://gist.github.com/dhobdensa/4e22a188cc2b26cf5b0dd4028755d39b
也许这是链接到 webpack 开发服务器?
【问题讨论】:
-
如果你在容器中尝试访问应用程序会怎样。我的意思是说,你能从容器中运行一个 curl localhost:3030 吗
-
好的建议,所以我刚刚尝试了这个,当我从容器内卷曲时它确实返回了 html
-
我开始怀疑 webpack 开发服务器是罪魁祸首,已经用更多信息更新了问题
标签: docker grails webpack vue.js vue-cli