多阶段docker构建失败,因为它可以';从第一次构建中看不到R
问题 我正在尝试创建一个多映像Dockerfile,它首先提取bioconductor映像,调用setup R脚本,然后提取一个ubuntu映像来安装python相关的软件包。尽管我已将R从第一个阶段构建保存到path,但在第二个阶段构建之后,它似乎不会保留,因为当我调用entrypoint脚本多阶段docker构建失败,因为它可以';从第一次构建中看不到R,r,docker,bioconductor,R,Docker,Bioconductor,问题 我正在尝试创建一个多映像Dockerfile,它首先提取bioconductor映像,调用setup R脚本,然后提取一个ubuntu映像来安装python相关的软件包。尽管我已将R从第一个阶段构建保存到path,但在第二个阶段构建之后,它似乎不会保留,因为当我调用entrypoint脚本run_deseq2.py时,它会显示:/bin/sh:1:Rscript:not found。如何在同一dockerfile中正确地组合这两个阶段,以便它们仍然可以“看到”彼此 Dockerfile F
run_deseq2.py
时,它会显示:/bin/sh:1:Rscript:not found
。如何在同一dockerfile中正确地组合这两个阶段,以便它们仍然可以“看到”彼此
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"]
我对docker不太了解,所以无法帮助处理整个docker图像,但您可以使用将stage标记为,在另一个stage中,您可以复制粘贴文件
有关更多详细信息,您还可以查看Officeal dock:
FROM bioconductor/release_base2 AS buidler
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 --from=builder src/run_deseq2.py / #If you want to copy something from stage-1 use from
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"]