Docker Compose 与多服务协作
Docker、Nginx 与 Python 项目部署#Python全栈#第十九阶段#Docker、Nginx 与 Python 项目部署#Docker Compose 与多服务协作约 899 字 · 3 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
Compose 的服务、网络、卷与项目分别是什么?
追问 题库平台的 Web、Worker、MySQL、Redis 和 Nginx 怎样拆分?服务定义与运行容器之间是什么关系?
image 与 build 怎样配合开发和发布?
追问 本地构建与部署已发布镜像分别适合什么场景?怎样避免不同服务器现场构建出不同依赖,实际镜像版本如何核对?
Compose 的 .env 插值、environment 与 env_file 有什么区别?
追问 用于替换配置文件变量的值,是否都会自动进入容器?多个来源冲突时怎样检查最终配置与容器内实际值?
depends_on 怎样处理启动顺序与服务就绪?
追问 进程已启动为何不等于数据库能接受查询?service_healthy、健康检查与应用有限重试如何配合,依赖运行中失效时又由谁处理?
数据库迁移等一次性任务怎样与应用启动协调?
追问 迁移失败后是否应继续提供新版本服务?多个 Web 副本同时启动迁移有什么风险,怎样明确执行者和成功条件?
Compose 中的服务如何通过默认网络互相连接?
追问 数据库连接字符串应使用什么服务名称与端口?项目名称、不同网络与同名服务怎样影响解析,为什么外部访问地址不能原样用于容器内部?
修改镜像、环境或挂载配置后,怎样让变更真正生效?
追问 restart 与重新创建容器有什么区别?怎样检查新容器的镜像、配置和版本,避免只看到重启成功就认为变更完成?
Compose 中的秘密文件与普通配置应怎样管理?
追问 秘密挂载后应用怎样读取,文件权限如何设置?声明为 secret 是否自动完成加密、轮换与访问审计,实际能力怎样核对?
开发挂载、热重载与生产运行配置怎样分开?
追问 覆盖文件和不同环境配置如何避免误用?生产中挂载开发目录、开启自动重载或共享测试数据库会出现什么问题?
怎样区分 Compose 的停止、移除、重新创建与卷删除?
追问 维护时应保留哪些运行记录和数据?项目名称变化为什么可能连接到新卷,怎样避免把“数据不见了”误判为数据库已清空?
Compose 核对资料: Startup order、Variable interpolation、compose restart、Compose secrets。