Localhost Can';使用ionic serve时无法访问开发服务器

Localhost Can';使用ionic serve时无法访问开发服务器,localhost,docker,ionic,Localhost,Docker,Ionic,我正在尝试使用爱奥尼亚服务访问一个空白的爱奥尼亚模板。它说它正在工作,但我只是在Chrome中看到“找不到页面”。我很有信心,端口不是问题所在,因为我可以在上访问live reload页面,如果我交换端口,则可以在上访问live reload页面 nmap告诉我: PORT STATE SERVICE 8100/tcp closed xprint-server 我也在用Docker。192.168.99.100是我的虚拟机的IP Adrians-iMac:kosher_app Adr

我正在尝试使用
爱奥尼亚服务
访问一个空白的爱奥尼亚模板。它说它正在工作,但我只是在Chrome中看到“找不到页面”。我很有信心,端口不是问题所在,因为我可以在上访问live reload页面,如果我交换端口,则可以在上访问live reload页面

nmap告诉我:

PORT     STATE  SERVICE
8100/tcp closed xprint-server
我也在用Docker。192.168.99.100是我的虚拟机的IP

Adrians-iMac:kosher_app Adrian$ docker run -p 8100:8100 -p 35729:35729 -v /Users/Adrian/Documents/current_projects/kosher_app/kosher:/ionic -i -t app serve
    Running dev server: http://localhost:8100
    Running live reload server: http://localhost:35729
    Watching : [ 'www/**/*', '!www/lib/**/*' ]
    Ionic server commands, enter:
      restart or r to restart the client app from the root
      goto or g and a url to have the app navigate to the given url
      consolelogs or c to enable/disable console log output
      serverlogs or s to enable/disable server log output
      quit or q to shutdown the server and exit
如果有帮助,以下是我的Dockerfile:

FROM google/nodejs

WORKDIR /ionic
VOLUME ["/ionic"]
RUN npm install -g cordova ionic && ionic platform add android

EXPOSE 8100
EXPOSE 35729
ENTRYPOINT ["ionic"]
CMD ["serve"]
这是应用于容器时,docker端口的结果:

35729/tcp -> 0.0.0.0:35729 8100/tcp -> 0.0.0.0:8100

Ionic当前在侦听/绑定到0.0.0.0时遇到问题。这在新的测试版中得到了修复。此线程中提到了一个解决方法:

资料来源:

我的解决方法是在Dockerfile中添加以下行:

FROM google/nodejs

WORKDIR /ionic
VOLUME ["/ionic"]
RUN npm install -g cordova ionic && ionic platform add android

EXPOSE 8100
EXPOSE 35729
ENTRYPOINT ["ionic"]
CMD ["serve"]
运行sed-i的/localhost/0.0.0/'/usr/lib/node_modules/ionic/lib/ionic/service.js

或在某些情况下(取决于版本):


运行sed-i的/localhost/0.0.0/'/usr/lib/node\u modules/ionic/lib/service.js

尝试删除-p 35729:35729语句,我认为您应该只使用一个-p语句,否则第二个可能会覆盖第一个。这就是为什么你可以访问livereload页面,而不是应用程序页面的原因。我尝试过删除它,但没有成功。端口映射是Docker容器的一部分,我想我需要这样做来公开这两个端口。当我可以运行
ionic-serve 35729 8100
来交换端口时
serve
正在使用。根据文档,似乎用于反转端口的离子命令是:
ionic-serve-r 8100-p 35729
,你能试试吗?这确实反转了端口,但没有解决问题。我可以在
8100
上访问实时重新加载,但在
35729
上什么也没有。:/?端口配置中可能存在隐藏问题。看见