Sign inSign up

ignislee/frontend_flutter_dev

By ignislee

•Updated about 1 year ago

Image
0

1.0K

ignislee/frontend_flutter_dev repository overview

一个适用于flutter开发的ubuntu22.04容器.

flutter容器详细说明参考: https://github.com/lilmik/docker_ubuntu_dev/tree/feature/flutter⁠

Tag 3.0 :终于完整解决了vscode下(venv)环境嵌套的问题,直接用最新版就好.

⁠镜像使用说明

  • 暴露了容器22端口,可以在创建容器的时候自行增加宿主机的端口映射.开启了ssh服务并自动启动.dev或者root用户都可以通过ssh工具进行登录.
  • 镜像中创建了一个名为dev的管理员用户,root用户和dev用户的密码都是dev.
  • 加入了bash-completion修正,并且注释了/etc/apt/apt.conf.d/docker-clean中部分影响apt install 补全功能的内容,会让镜像容量变得稍大,但是后续需要补充安装包的时候更方便
  • 加入了时区设置到Asia/Shanghai,并且加入了每小时自动同步一次时间的功能
  • 补充了部分常用工具,如vi | vim | nano | btop | neofetch等
  • 加入了一个ssh登陆后打印系统信息 | IP地址 | 当前时间 | 当前时区的功能

一键启用命令参考:

--name 用于指定容器名

--hostname 用于指定主机名

-p 端口开放了几个常用的,方便各种功能测试,可以自行增加

-v 挂载了app目录,便于开发文档和宿主机间进行交互,可以自行增加

sudo docker run -d \
--name flutter_dev \
--hostname flutter_dev \
--privileged \
--restart=always \
-p 5522:22 \
-p 13000:3000 \
-v ./app:/app \
ignislee/frontend_flutter_dev:3.0

镜像中打包了一个测试用的python脚本.如果你在/app目录下,可以直接使用命令启动这个服务.

# 开启一个python网页服务,端口号可以不指定,默认是3000
python app.py -- port 3000

这样就能通过http://宿主机IP:23000进行访问了.

使用nuitka编译和打包这个python app,在ubuntu下测试加上--static-libpython=yes是可以打包通过并正常调用的,在alpine下加上--static-libpython=yes的话,打包能通过但是无法正常调用.编译完成后会生成/app/dist/app.bin,这个就可以拷贝到运行容器里面去独立运行了.

# 编译
nuitka app.py \
  --standalone \
  --onefile \
  --lto=yes \
  --static-libpython=yes \
  --include-package=flask \
  --include-package=jinja2 \
  --include-package=fastapi \
  --include-package=starlette \
  --include-package=uvicorn \
  --output-dir=/app/dist \
  --show-progress
  
 # 调用
 # 开启网页服务,端口号可以不指定,默认是3000
 /app/dist/app.bin --port 3000

使用fulutter开启web debug模式命令参考.

通过http://宿主机IP:11180进行访问.

cd /app
flutter create demo_app
cd ./demo_app
flutter run -d web-server --web-port 80 --web-hostname 0.0.0.0

Tag summary

Content type

Image

Digest

sha256:5279d6ef1…

Size

3.3 GB

Last updated

about 1 year ago

docker pull ignislee/frontend_flutter_dev:4.0-amd64