elixir
بيئة تشغيل · Language runtime · standard · v1.19.5
بيئة تشغيل Elixir مُحصّنة على آلة BEAM الافتراضية، مبنية على Erlang/OTP، للتطبيقات المتزامنة المقاومة للأعطال (مثل Phoenix). أحدث إصدار مستقر (1.18).
خط الإصدار
يعيش الخط الأحدث في الصفحة الأساسية؛ وللخطوط الأقدم صفحاتها الخاصة لتتمكّن من تثبيت ذلك الإصدار بالضبط والتحقق منه.
تقرير الأمان (Trivy)
تقرير الأمان (Trivy) · elixir 1.19.5
الإصدارات المنشورة
3 وسومكل وسم هو فهرس متعدد المعماريات (amd64 + arm64) مثبّت بالبصمة. موسوم بالإصدار، وليس أبدًا :latest.
استخدمها كصورة أساس
أشِر إليها في سطر FROM داخل ملف Dockerfile. تعمل بدون صلاحيات الجذر، بنظام ملفات جذر للقراءة فقط، ومبنية لـ amd64 و arm64.
FROM ghcr.io/quenchworks/images/elixir:1.19.5أو اسحبها مباشرة
docker pull ghcr.io/quenchworks/images/elixir:1.19.5- خط الإصدار
- 1.19.5
- الخط الأحدث
- 1.18.4, 1.19.5, 1.17.3
- المعماريات
- amd64, arm64
- تعمل كـ
- nonroot (uid 1001)
- نظام الملفات الجذر
- للقراءة فقط
- الرخصة
- Apache-2.0
تحقّق من سلسلة التوريد
هذه الصورة موقّعة بـ cosign وتحمل قائمة مكوّنات SPDX SBOM وشهادة منشأ بناء SLSA على البصمة نفسها. تحقّق من الثلاثة جميعها قبل أن تبني عليها:
# 1. signature — built and signed by QuenchWorks CI
cosign verify ghcr.io/quenchworks/images/elixir:1.19.5 \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
# 2. SLSA build provenance — which workflow built it, from what
cosign verify-attestation --type https://slsa.dev/provenance/v1 ghcr.io/quenchworks/images/elixir:1.19.5 \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
# 3. SPDX SBOM — the package inventory
cosign verify-attestation --type https://spdx.dev/Document/v2.3 ghcr.io/quenchworks/images/elixir:1.19.5 \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.comراجع دليل SBOM والمنشأ لقراءة قائمة المكوّنات واستخدام هذه الفحوص في التكامل المستمر.
أفضل ممارسة لملف Dockerfile لـ 1.19.5
Build a self-contained OTP release with mix in the build stage, then copy that release onto a clean elixir base. The release bundles the BEAM and your compiled app; only prod deps are included.
# Build stage: fetch deps and assemble a prod mix release.FROM ghcr.io/quenchworks/images/elixir:1.19.5 AS buildUSER rootWORKDIR /appENV MIX_ENV=prod \ MIX_HOME=/tmp/mix \ HEX_HOME=/tmp/hex
RUN ["mix", "local.hex", "--force"]RUN ["mix", "local.rebar", "--force"]COPY mix.exs mix.lock ./RUN ["mix", "deps.get", "--only", "prod"]RUN ["mix", "deps.compile"]COPY . .RUN ["mix", "release"]
# Runtime stage: copy the self-contained release onto a clean elixir base.FROM ghcr.io/quenchworks/images/elixir:1.19.5 AS runtimeWORKDIR /appENV HOME=/tmpCOPY --from=build /app/_build/prod/rel/app ./USER 1001EXPOSE 4000CMD ["bin/app", "start"]هذا الملف Dockerfile مثبّت على خط 1.19.5 . للاطّلاع على شرح سطرًا بسطر وعلى متغيّرات المنظومات (npm/Yarn، pip/uv/Poetry، Maven/Gradle)، راجع دليل ابنِ صورًا مُحصّنة.
المشروع المنبع: https://elixir-lang.org