SuperAPI AI 工具集

bootstrap-phoenix-docker

部署与运维

查看项目

更新于 10-15 19:52

技能介绍

用途:为已有 Phoenix 应用(含 Ecto 数据库)生成生产可用的 Docker 发布配置,实现容器化部署。前提是本地已安装 Mix。

主要能力:执行 mix phx.gen.release --docker 生成 lib/<app>/release.ex 迁移与播种辅助模块、rel/overlays/bin/server 启动脚本、rel/overlays/bin/migrate 迁移执行脚本、多阶段生产构建 Dockerfile 与 .dockerignore。

必要用法:在项目根目录运行 mix phx.gen.release --docker 生成文件;编辑 config/runtime.exs 读取环境变量,生产环境必需 DATABASE_URL 与 SECRET_KEY_BASE,可选 PHX_HOST、PORT(默认 4000)、POOL_SIZE(默认 10)、DNS_CLUSTER_QUERY。用 docker build -t my_app:latest . 构建镜像,用 mix phx.gen.secret 生成密钥,通过 docker run 传入环境变量运行;用 docker run --rm ... /app/bin/migrate 或在容器内执行 /app/bin/my_app eval "MyApp.Release.migrate" 跑迁移。

适用场景:单节点或多节点容器化部署、需在容器编排中加健康检查端点、多节点 DNS 集群(在 rel/env.sh.eex 设置 RELEASE_DISTRIBUTION 与 RELEASE_NODE),以及自定义发布命令如 seed。

限制:资料未提供镜像体积、构建耗时、支持的 Phoenix 版本范围或收费信息,也未给出完整部署平台步骤,需结合自身环境验证。