
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该Docker镜像集成了Elixir运行环境与Phoenix Web框架,为开发者提供一站式的Elixir/Phoenix应用开发、测试和部署解决方案。通过预配置环境减少环境配置时间,支持从开发到生产的全流程应用部署,确保环境一致性与部署效率。
开发环境启动
bashdocker run -it --rm \ -v $(pwd):/app \ -p 4000:4000 \ -e MIX_ENV=dev \ docker.xuanyuan.run/elixir-phoenix \ sh -c "mix deps.get && mix phx.server"
参数说明:
-v $(pwd):/app:本地项目目录挂载至容器/app,实现代码热更新-p 4000:4000:映射Phoenix默认开发端口(4000)至本地-e MIX_ENV=dev:设置为开发环境模式mix deps.get:安装项目依赖mix phx.server:启动Phoenix开发服务器生产环境启动
bashdocker run -d \ -v $(pwd):/app \ -p 80:4000 \ -e MIX_ENV=prod \ -e SECRET_KEY_BASE=$(mix phx.gen.secret) \ -e DATABASE_URL=ecto://user:pass@db:5432/app_prod \ elixir-phoenix \ sh -c "mix deps.get --only prod && mix compile && mix phx.digest && mix phx.server"
yamlversion: '3.8' services: web: image: docker.xuanyuan.run/elixir-phoenix volumes: - ./:/app ports: - "4000:4000" environment: - MIX_ENV=dev - DATABASE_URL=ecto://postgres:postgres@db:5432/app_dev depends_on: - db command: sh -c "mix deps.get && mix ecto.setup && mix phx.server" db: image: docker.xuanyuan.run/postgres:14 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=app_dev volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data:
| 环境变量 | 描述 | 默认值 | 适用环境 |
|---|---|---|---|
MIX_ENV | 应用运行环境标识 | dev | 所有环境 |
SECRET_KEY_BASE | 生产环境加密密钥 | 无(必填) | 生产环境 |
DATABASE_URL | Ecto数据库连接URL | ecto://postgres:postgres@localhost:5432/app_${MIX_ENV} | 所有环境 |
PORT | 应用监听端口 | 4000 | 所有环境 |
PHX_SERVER | 是否以服务器模式运行 | true | 所有环境 |
LIVE_VIEW_SOCKET | LiveView WebSocket路径 | /live | 开发/生产环境 |
如需构建包含项目代码的生产镜像,可创建如下Dockerfile:
dockerfileFROM docker.xuanyuan.run/elixir-phoenix AS builder WORKDIR /app COPY mix.exs mix.lock ./ RUN mix deps.get --only prod && mix deps.compile COPY . . RUN mix compile && mix phx.digest FROM docker.xuanyuan.run/elixir-phoenix AS runner WORKDIR /app COPY --from=builder /app/_build/prod/rel/app ./rel COPY --from=builder /app/priv/static ./priv/static EXPOSE 4000 CMD ["rel/app/bin/app", "start"]
-v)实现代码热更新,生产环境建议构建包含项目代码的自定义镜像。SECRET_KEY_BASE(通过mix phx.gen.secret生成安全密钥)。MIX_ENV,不同环境下Phoenix会自动应用对应配置(如日志级别、连接池大小)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务