松坂砂糖 (@MatsuzakaSato) 在 【自用】Python项目快速容器化部署/测试&环境持久化方案 中发帖
这两天我用 Python 给下载站开发了一个防盗链小网关,虽然项目不算重量级,但也涉及FastAPI之类的一大堆依赖。接下来一段时间内,项目的代码会快速迭代,依赖也可能不断更新,如果为了容器化,用 Dockerfile 执行完整的镜像构建流程,绝对会严重拖慢交付速度。即使正确执行了分层构建也没差,只要一动requirement列表,那么pip install这层缓存全部完蛋——应该不会有神经病把每个依赖都分层构建和缓存吧,不会吧?
那么有什么解决方法呢?
既然项目代码和依赖都会不断变化,那么最简单的部署方法其实是直接使用纯净的Python容器镜像,但是要注意将Python依赖也持久化到本地,不然每次运行容器都要重新从pypi拉取一次依赖,同样效率低下。这里Python和uv的容器分别有各自的解决方案。
Python容器通过PYTHONPATH定义额外的第三方库搜索目录(它会被添加到 s...