惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
博客园 - 【当耐特】
博客园_首页
The GitHub Blog
The GitHub Blog
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
D
Docker
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
小众软件
小众软件
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky

Django

请教下 哪款 vscode 插件可以通过点击跳转 urls 定义 Django 一文告诉你 all 懒加载的机制 大家学习编程做项目的时候一开始会容易卡壳吗?比如我今天一个下午才弄出来了博客当中的文章评论加回复功能,有时候会因为一个小点卡壳,稍微复杂点的逻辑就感觉脑子不够用,甚至是给 html 的 div 取变量名的时候脑子也会不够 请教在 ubuntu23 中如何 让 Django runserver 开机自启动 请教 Django runserver 开机自启动的问题 不知道开发的流媒体合租平台有没有意义… 公司自主招聘(远程)后端 Go 开发,想要远程岗位抓紧啦 [求助] Mediacms 接入 Keycloak 有没有好的 drf 项目可以学习下的? django 快速开发明明 drf 更好,为啥还是很多人更推荐 fast.api 和忍者 django 的同步机制有性能瓶颈为什么还是有很多人用? 大家怎么处理开发时 Migration 一大堆,修修改改啰啰嗦嗦,同步到生产之前还得检查合并下这个问题的? Django 模型自定义 Manager 自定义 filter 如何支持链式调用? python3 manage.py build_index 这条 Django 命令到底啥意思啊?官方文档找不到说明,谢谢 前后端分离项目, Django 良好的项目结构是怎么样的 Django get_max_test_processes Django makemigrations 生成的 migrations 文件,如何放在代码当前目录的文件夹中? 请教下大家,Django 的 tests 测试模块,如何不创建新从测试数据库,而是直接操作生产环境数据库谢谢! django 好像对于 ios 打不开 admin page Django 模板中变量的嵌套 早起把网站的友链网页和自主添加友链功能撸出来了,过来收集一波友链 用 django 调用长时间执行的脚本,如何返还输出呢? Django 中递归分类 model 用什么组件显示比较合适? django 一开始没用 restfulapi 开发, 还能自动生成文档吗? 求推 django 数据可视化插件 有没有使用 django 国际化模块的,针对 django.po 国际化文件写了一个 vscode 的插件 Django 访问 relation 时,如何得知是谁访问的? django admin 部分自带的 css 文件 collectstatic,生成的文件大小为 0? Django 怎么做同一个 url,对应不同的 view 函数? 请教 drf 全局封装 response 的优雅实现
django 用 docker 部署,要不要每次部署到服务器的时候改改 i...
albert0yyyy · 2023-01-08 · via Django

我在尝试 docker 部署 django ,刚刚接触容器化部署,遇到了一些思维不太好转变的问题。

django 的数据库是要在 docker build container 的时候,就把服务器的数据库配置写到 settings.py 里吗,那 build 完 image ,肯定要在本地看看能不正常启动这个 container ,没问题才可以 push 上去吧。那我每次改 setting 配置,在 git 版本控制的时候,其实这些配置改动不算是一种迭代更新,因为一个程序会运行在许多个服务器,会用到许多个数据库。

除非数据库也用 docker 启动,到时候服务器启动 django 和数据库两个容器。

但是我启动数据库容器的操作也是挺麻烦的,也得改改数据库容器的配置。而且我看到 docker hub 上一些官方镜像,比如 postgresql 也有提到启动完镜像,进去创建数据库这种操作。

综上,我觉得还不如本地调试完 django container ,服务器 pull 下来,改改这个数据库和其他的一些配置。像数据库这种算基础设施,安装在宿主机上,而且这种软件不会像我们写的程序遇到太多安装问题。


整理了一下

数据库开发环境和服务器不一致,所以就要有两种数据库配置(开发 /生产环境)

  • 构建好的镜像本地应该调试好了(不是指调试代码运行的问题,是指调试代码部署的问题),那就要求本地调试的时候,能用上服务器的数据库配置。

    1. 开发环境安装数据库软件,并创建和服务器的数据库一样的配置

    2. 或者构建数据库镜像

程序会多次部署,会用到不同数据库,每次改动数据库配置,在版本控制上来讲不算是一次迭代更新,所以觉得构建镜像前先改好数据库配置不合理

我最终的想法是,生产环境的配置先把 key 写好了,value 不写。本地测试部署,服务器部署的时候,进入镜像改改再运行