Проблема
Я пытаюсь создать Dockerfile с несколькими изображениями, который сначала извлекает образ биокондуктора, вызывает сценарий установки R, а затем извлекает образ Ubuntu для установки python связанные пакеты. Несмотря на то, что я сохранил R в path из сборки первого этапа, похоже, что это не сохраняется после сборки второго этапа, потому что когда я вызываю скрипт точки входа run_deseq2.py
, он говорит: /bin/sh: 1: Rscript: not found
. Как правильно объединить эти два этапа в одном файле Docker, чтобы они все еще могли «видеть» друг друга?
Dockerfile
FROM bioconductor/release_base2
ADD src/setup.R /
RUN Rscript /setup.R
ENV PATH=/usr/local/bin/:$PATH
FROM ubuntu:19.04
ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /
RUN apt-get update && \
apt-get install -y \
python-dev \
python-pip \
wget
RUN pip install awscli boto3
COPY src/run_deseq2.py /
COPY src/s3_utils.py /
COPY src/job_utils.py /
COPY src/deseq2.R /
COPY src/ModelLoxTag.R /
ENV R_THREADS=30
# Run docker, starting with run script
ENTRYPOINT ["python", "/run_deseq2.py"]