
profootballfocus/elixir_build本镜像为Elixir开发者设计,用于简化使用Distillery工具构建可部署的Elixir应用发布版本。它集成了Elixir运行时和Distillery构建工具,解决手动配置构建环境的复杂性,提供标准化的构建流程,帮助开发者快速生成生产就绪的Elixir应用发布包。
准备项目
确保Elixir项目已初始化,在mix.exs中添加Distillery依赖并安装:
elixir# mix.exs中添加依赖 defp deps do [ {:distillery, "~> 2.1"} ] end
执行mix deps.get安装依赖,并通过mix release.init初始化Distillery配置。
拉取镜像
bashdocker pull [镜像名称]:[标签] # 例如:docker pull elixir-distillery:latest
执行构建
通过挂载项目目录到容器,运行构建命令:
bashdocker run --rm -v $(pwd):/app -w /app [镜像名称]:[标签] mix release
--rm:构建完成后自动删除容器-v $(pwd):/app:挂载当前项目目录到容器内/app路径-w /app:设置容器工作目录为项目根目录mix release:执行Distillery构建命令,生成的发布包默认位于_build/prod/rel/[项目名]通过MIX_ENV环境变量指定构建环境(默认为prod):
bashdocker run --rm -e MIX_ENV=test -v $(pwd):/app -w /app [镜像名称]:[标签] mix release
支持执行复杂构建流程,如先测试再构建:
bashdocker run --rm -v $(pwd):/app -w /app [镜像名称]:[标签] sh -c "mix test && mix release"
挂载缓存卷加速依赖安装:
bash# 创建缓存卷 docker volume create elixir-deps docker volume create elixir-build # 带缓存构建 docker run --rm -v $(pwd):/app -v elixir-deps:/app/deps -v elixir-build:/app/_build -w /app [镜像名称]:[标签] mix release
mix release.init初始化Distillery配置1.14)mix deps.get确保依赖已完整安装manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务