微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter Web的Localhost无法与docker一起使用

如何解决Flutter Web的Localhost无法与docker一起使用

我试图运行一个不稳定的Web应用程序,但看不到它在localhost中运行。 我有正在运行的消息,但在浏览器中看不到。

dashboard_1 | lib / main.dart正在http:// localhost:8080

提供

Dockerfile

FROM cirrusci/Flutter AS build

RUN apt update && apt install -y Nginx

RUN Flutter channel beta
RUN Flutter upgrade
RUN Flutter config --enable-web

RUN mkdir /app/
copY . /app/
workdir /app/
RUN Flutter build web

docker-compose.yml

version: '3.1'
services:
    dashboard:
        build: .
        restart: on-failure
        ports:
            - "8080:8080"
        command: >
            sh -c "Flutter pub get && Flutter run -d web-server --web-port 8080"

解决方法

我刚刚在--web-hostname 0.0.0.0命令的末尾添加了docker-compose.yml,它可以正常工作。但是现在是localhost:8080,而不是0.0.0.0:8080

所以docker-compose.yml看起来像这样:

version: '3.1'
services:
    dashboard:
        build: .
        restart: always
        ports:
            - "8080:8080"
        command: >
            sh -c "flutter pub get && flutter run -d web-server --web-port 8080 --web-hostname 0.0.0.0"
,

我在VScode服务器(安装在Google Cloud虚拟机上)上的抖动有类似的问题:

我跑步:

flutter channel beta
flutter upgrade
flutter config --enable-web
flutter build web
flutter pub get && flutter run -d web-server --web-port 8080 --web-hostname 0.0.0.0

输出看起来不错:

Running "flutter pub get" in step2_build_flutter_application...      1,071ms
Running "flutter pub get" in step2_build_flutter_application...      1,064ms
Launching lib/main.dart on Web Server in debug mode...
Syncing files to device Web Server...                              15.7s
lib/main.dart is being served at http://0.0.0.0:8080
The web-server device requires the Dart Debug Chrome extension for debugging. Consider using the Chrome or Edge devices for an improved development workflow.

Warning: Flutter's support for web development is not stable yet and hasn't
been thoroughly tested in production environments.
For more information see https://flutter.dev/web

?  To hot restart changes while running,press "r" or "R".

但是,当我尝试Chrome中的以下URL时: http:// external_ip:8080无法访问该站点,并随着超时终止。任何想法,我想念什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。