Cannot prevent repeated precompilation in docker runtime

dopamine
Tue, 07 Apr 2026 15:27:53 +0000
General Usage

Hello, I’m deploying a julia script via docker, and can’t seem to prevent precompilation during runtime, which is very expensive, time-wise.

So I observe that precompilation happens normally during the build time, but it always seems to repeat again during each runtime.

I’ve already tried a bunch of tricks (see below), and wondering if some kind of CPU architecture mismatch might be triggering this.

Any advice would be greatly appreciated.

FROM julia:1.12-bookworm

ENV JULIA_PROJECT=/app \
    JULIA_DEPOT_PATH=/usr/local/julia-depot \
    JULIA_NUM_THREADS=auto \
    JULIA_CPU_TARGET=generic \
    JULIA_PKG_PRECOMPILE_AUTO=0

RUN apt-get update && apt-get install -y --no-install-recommends \
    git \
    ca-certificates \
    bzip2 \
    coreutils \
    perl \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY Project.toml ./
RUN julia --project=/app -e 'using Pkg; Pkg.instantiate()'

COPY src ./src
COPY scripts/my_script.jl ./scripts/my_script.jl
RUN julia --project=/app -e 'using Pkg; Pkg.precompile(); using MyPackage'
RUN julia --project=/app --compiled-modules=existing --pkgimages=existing /app/scripts/my_script.jl --help

RUN useradd --create-home --uid 10001 appuser \
    && mkdir -p /workspace /output \
    && chown -R appuser:appuser /app /workspace /output /usr/local/julia-depot

USER appuser

ENTRYPOINT ["julia", "--project=/app", "--compiled-modules=existing", "--pkgimages=existing", "/app/scripts/my_script.jl"]
CMD ["--help"]

2 posts - 1 participant