一个适用于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
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