You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker+Distillery场景:如何确定Elixir镜像的Alpine版本?

确定Elixir Alpine镜像的Alpine版本及版本不匹配问题

如何查询Elixir Alpine镜像的Alpine版本

方法1:本地临时容器验证

直接运行命令拉取镜像并输出Alpine版本:

docker run --rm elixir:1.7.2-alpine cat /etc/alpine-release

这条命令会直接返回镜像内置的Alpine版本号,比如你提到的elixir:1.7.2-alpine对应的就是3.8。

方法2:Docker Hub页面查看

在Elixir的Docker Hub页面中,进入对应标签(如1.7.2-alpine)的详情页:

  • 部分镜像会在标签描述里直接标注基础Alpine版本;
  • 若描述未提及,可查看该标签对应的Dockerfile内容,里面会明确写有FROM alpine:x.x的语句,从而确认版本。

版本不匹配报错的原因

当你在Dockerfile中指定的ALPINE_VERSION与Elixir镜像实际使用的Alpine版本不一致时,Distillery打包的Erlang运行时会因为底层系统库(如musl libc)版本不兼容,触发Unusable Erlang runtime system! This is likely due to being compiled for another system than the host is running错误。Erlang编译高度依赖系统环境,跨Alpine版本(尤其是musl版本差异)会导致运行时无法兼容。

针对Elixir 1.13.4版本的处理建议

对于elixir:1.13.4-alpine镜像,同样可以用以下方式处理:

  1. 用命令确认Alpine版本:
    docker run --rm elixir:1.13.4-alpine cat /etc/alpine-release
    
  2. 将Dockerfile中的ARG ALPINE_VERSION设置为上述命令返回的版本号,确保与Elixir镜像的基础系统版本一致,即可避免兼容性错误。

内容的提问来源于stack exchange,提问作者nonamorando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:21:42