上集回顾
在上集中我们用jetbrains家的Fleet
代码编译器开发了一个负责生成海报并提供接口服务的python项目.为后面部署到云服务器提前做准备,我们准备用docker
把项目打包并在本地部署运行.
第四集-Docker
[!tip] 作为一名移动端开发,本人对docker的理解和使用都停留在一个非常浅显的阶段,所以本篇不涉及任何教学目的和意义,主要是想坚持初心.真实的记录下每天的节点.
聊聊Docker
docker给我最大的印象就是简单方便.通过简单的几步便能把当前项目打包成镜像,并在在任何系统环境使用的时候,都能保证毫不费力的把Image
跑起来.不用再做配置环境和下载各种依赖之类的反锁重复的工作了.
docker
常见的术语解释和命令.
- Dockerfile -生成
image
的文件.魔法一样,整个image
的环境,构造方式等项目属性全部由它配置完成. - Docker Image - 可以直接跑起来的
image
.(通过Dockerfile生成的,或者其他人创造共享出来的都算) - Docker Registry - 类似于Github,能保存和分享
image
的社区 - Docker Container - 一个运行中的Docker image的容器实例.容器和整个系统是分开的,从而保证能在任何电脑系统中如期工作.
- Docker Volume - 一种把数据存储在container外的方式.通过此种方式让宿主机存储和container生成和需要的数据,这样才能保证业务和数据隔离.(避免container停止或者删除后的数据丢失问题)
- Docker Network - Docker containers之间通信的桥梁.
- Docker Daemon - 能通过CLI管理系统中Docker 对象(上面的1-5都属于Docker对象)的后台服务
- Docker Engine - CLI+上Docker Daemon.
常见基础命令
项目实操
这地方要注意.版本不能用3.13的,不然在生成image环节中安装numpy
依赖时会报错.我在这里卡了好久~.改成3.12的就好了
运行docker run -p 5000:5000 你自己生成的image
,可以看到服务起来了.但是有个警告有点烦.
根据提示,建议在生产环境中使用WSGI服务.这边搜了一下相关实现,选择了Gunicorn
arduino
//命令行安装一下
pip install gunicorn
然后重新编辑一下Dockerfile 接着重新构建image,然后通过container跑起来
没问题.域名是0.0.0.0,端口5000.模拟一个get请求验证一下,接口成功返回了数据
剩下的接口不再一一展示了,应该都是通的,就算有问题,咱们修改后重新打个image也是几分钟的事情. 截止到现在,我们完成了后端服务的部署(本地).需要强调的是我们有了对应的Docker Image,有了它,后面我们需要部署到云服务器的时候就非常简单了.不管服务器是Ubuntu还是CentOS还是其他系统,都没问题.只要安装Docker,然后用cli去run 这个Docker Image,服务就会像在本地一样的运行在云服务器上.
下集预告
完全依靠 Figma AI,快速搭建一套可用的 UI 原型.大家对 Figma AI 在开发中的应用有任何"奇思妙想",欢迎在评论区留言,一起"搞事情"!
敬请期待我的后续文章!(保证不鸽!)
[!todo]
- 做个什么?
- 研究学习一下BeatPrints,把流程跑一跑,琢磨一下盈利点
- 创建 python 项目提供接口,通过 docker 在本地运行,调通接口 (
跪求好心python大佬们指导和支持,帮助我们快速实现预期的后台功能
)- 通过 figma ai 生成 ui 图
- 通过 app 页面交互,最终完成封面下载
- 接入三方平台分享 sdk
- 接入支付 sdk
- 前后端用户注册登录及等级系统建立
- 接入网易云 api
- 健壮后端项目,做好场景覆盖和错误捕捉等
- 上架
- 待续补充
[!info] 如果您觉得这篇文章对你有用或者有趣的话,请点赞
,关注
,收藏
三连支持一下作者.千万不要小看你随手善意的支持,每一份好心的善意最终都化为作者持续分享的动力