Я создаю многоартное изображение Docker в GA, используя действие Build and Push как:
- name: Build and push
uses: docker/build-push-action@v6
with:
context: my-dir
push: true
tags: myrepo.io/my-registry/my-app:${{ github.event_name == 'repository_dispatch' && github.event.client_payload.latest_ver || github.event.inputs.certified_version }}-multiarch
file: Dockerfile_multiarch
platforms: linux/amd64,linux/arm64
provenance: false
В Dockerfile я хочу установить значение LD_PRELOAD even ld_preload =/usr/lib/$ {arch} -linux-gnu/libjemalloc.so.2 , где Arch может быть с x86_64 или aArch64 . Установка этой переменной env внутри блока run не работает, потому что эта переменная теряется на этом блоке. Как я могу динамически установить эту Env var?FROM ubuntu:20.04
ENV DEBIAN_FRONTEND noninteractive
# Install required packages and dependencies for RPM
RUN apt-get update && \
apt-get install -y wget curl vim less git python3 linux-tools-common sysstat procps libjemalloc-dev gnupg && \
rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME="/usr/lib/jvm/java-21-amazon-corretto"
ENV PATH=$JAVA_HOME/bin:$PATH
//todo: How can I do this?
ENV LD_PRELOAD=/usr/lib/${ARCH}-linux-gnu/libjemalloc.so.2
Подробнее здесь: https://stackoverflow.com/questions/794 ... dockerfile