27 lines
1.0 KiB
Docker
27 lines
1.0 KiB
Docker
# bioflow-gfpy —— mafft/iqtree/meme 工具环境(registry.py 权威映射)
|
|
# 源环境: gfpy312 (Python 3.12.13); 方法: docs/bioflow_image_build_playbook.md
|
|
# 每镜像=单一 conda 环境, 仅 root, 无 /home/xzq, 无 conda 本体; 工具一律 PATH 裸命令。
|
|
ARG BASE_IMAGE=ubuntu:24.04
|
|
FROM ${BASE_IMAGE} AS unpack
|
|
|
|
ARG ENV_TAR
|
|
COPY ${ENV_TAR} /tmp/env.tar.gz
|
|
RUN mkdir -p /opt/conda && \
|
|
(tar --ignore-zeros -xzf /tmp/env.tar.gz -C /opt/conda || true) && \
|
|
rm -f /tmp/env.tar.gz && \
|
|
test -x /opt/conda/bin/python
|
|
|
|
# 先 PATH 再 conda-unpack(其 shebang 为 /usr/bin/env python)
|
|
ENV PATH=/opt/conda/bin:$PATH
|
|
ENV LANG=C.UTF-8
|
|
# 先 conda-unpack(其文件清单含 bin/activate 等前缀重写目标, 不能先删),
|
|
# 再删除 conda-pack 注入的 conda 桩(镜像红线: 无 conda 可执行文件)
|
|
RUN conda-unpack && \
|
|
rm -f /opt/conda/bin/conda /opt/conda/bin/activate /opt/conda/bin/deactivate
|
|
|
|
FROM ${BASE_IMAGE}
|
|
COPY --from=unpack /opt/conda /opt/conda
|
|
ENV LD_LIBRARY_PATH=/opt/conda/lib
|
|
ENV PATH=/opt/conda/bin:$PATH
|
|
ENV LANG=C.UTF-8
|