如何在 docker 容器中 运行 grails-vue 配置文件?

How to run grails-vue profile within a docker container?

我在 dockerhub 上为 grails 创建了一个 docker 图像:

https://hub.docker.com/r/dhobdensa/docker-alpine-grails/

基于官方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 上运行。这可以访问和returns预期的结果。

客户说您的应用 运行正在 localhost:3000 上线。但是当试图访问它时,浏览器只显示默认的 ERR_EMPTY_RESPONSE 页面。

我试过不同的浏览器和清除缓存。

知道为什么访问端口 3000 不起作用,但 8080 可以吗?

附加信息

似乎 gradle 本质上是 运行ning 这个命令:

webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

这是文件:

https://gist.github.com/dhobdensa/4e22a188cc2b26cf5b0dd4028755d39b

也许这是链接到 webpack 开发服务器?

所以我找到了答案。

我怀疑 webpack 开发服务器是寻找的地方。

然后我在github上发现了这个问题:

不能在 docker 容器中 运行 webpack-dev-server 吗?

https://github.com/webpack/webpack-dev-server/issues/547

长话短说,我必须将 --host 0.0.0.0 添加到 package.json

中的 "dev" 任务
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0"