我在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
其中使用vue-cli和webpack启动grails REST API服务器和vue客户端应用程序
服务器说您的应用程序在localhost:8080上运行 . 可以访问它并返回预期结果 .
客户端说您的应用程序在localhost:3000上运行 . 但是当尝试访问它时,浏览器只显示默认的ERR_EMPTY_RESPONSE页面 .
我尝试过不同的浏览器和清除缓存 .
访问端口3000的任何想法都不起作用,但8080是什么?
Additional info
似乎gradle基本上运行此命令:
webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
这是文件:
https://gist.github.com/dhobdensa/4e22a188cc2b26cf5b0dd4028755d39b
也许这与webpack dev服务器有关?
1 回答
所以我找到了答案 .
我怀疑webpack dev服务器是值得一看的地方 .
然后我在github上发现了这个问题:
Cant run webpack-dev-server inside of a docker container?
https://github.com/webpack/webpack-dev-server/issues/547
长话短说,我不得不将--host 0.0.0.0添加到package.json中的“dev”任务