
nexcer/flutter-web本镜像是基于Flutter master通道构建的Docker镜像,已预先启用Web平台支持。旨在为Flutter开发者提供一个开箱即用的一致环境,专注于Flutter Web应用的开发、构建、测试及部署流程。镜像集成了完整的Flutter SDK及依赖工具链,可直接用于Web平台相关的开发任务,无需手动配置Web支持或解决环境依赖问题。
master通道:包含最新Flutter特性及修复,适合尝鲜新功能flutter_web配置,无需执行flutter config --enable-webflutter、dart、pub命令)flutter命令,无需额外初始化步骤通过Docker Hub或私有仓库拉取镜像(请替换<image-name>为实际镜像名称):
bashdocker pull <image-name>:latest
通过以下命令启动容器并进入交互式终端,用于直接执行Flutter命令:
bashdocker run -it --rm <image-name> /bin/bash
进入容器后,可验证环境配置:
bash# 检查Flutter版本及通道 flutter --version # 验证Web支持是否启用 flutter devices # 输出应包含"Chrome"或"Web Server"设备
挂载本地Flutter项目目录至容器,执行Web构建:
bash# 假设本地项目路径为./my_flutter_app docker run -it --rm \ -v $(pwd)/my_flutter_app:/app \ -w /app \ <image-name> \ flutter build web --release
构建产物将生成在宿主机./my_flutter_app/build/web目录下。
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
FLUTTER_CHANNEL | Flutter通道(固定为master) | master |
HTTP_PROXY | HTTP代理地址 | 空(不启用代理) |
HTTPS_PROXY | HTTPS代理地址 | 空(不启用代理) |
FLUTTER_CACHE_DIR | Flutter缓存目录 | /root/.pub-cache |
为避免重复下载依赖和持久化项目数据,建议挂载以下目录:
| 挂载路径(容器内) | 宿主机路径示例 | 用途 |
|---|---|---|
/app | ./my_flutter_project | 挂载本地Flutter项目目录 |
/root/.pub-cache | ~/.flutter-pub-cache | 持久化Dart依赖缓存 |
/root/.flutter | ~/.flutter-sdk-cache | 持久化Flutter SDK缓存 |
bashdocker run -it --rm \ --name flutter-web-dev \ -v $(pwd)/my_flutter_app:/app \ -v ~/.flutter-pub-cache:/root/.pub-cache \ -e HTTP_PROXY=[***] \ <image-name> \ /bin/bash
bashdocker run --rm \ -v $(pwd)/my_flutter_app:/app \ -v ~/.flutter-pub-cache:/root/.pub-cache \ -w /app \ <image-name> \ sh -c "flutter pub get && flutter build web --release --no-tree-shake-icons"
创建docker-compose.yml:
yamlversion: '3.8' services: flutter-web-builder: image: <image-name> volumes: - ./my_flutter_app:/app:rw - ~/.flutter-pub-cache:/root/.pub-cache:rw - ~/.flutter-sdk-cache:/root/.flutter:rw environment: - HTTP_PROXY=[***] - HTTPS_PROXY=[***] working_dir: /app command: ["flutter", "build", "web", "--release"]
执行构建:
bashdocker-compose up
master通道,可能包含不稳定特性,生产环境建议评估后使用/root/Android/Sdk)并配置环境变量flutter pub get或flutter build可能因依赖下载较慢,建议配置代理或预挂载缓存目录


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务