簡體   English   中英

在 docker 容器中安裝 R

[英]Installing R in a docker container

我正在嘗試安裝在基於 Ubuntu:20.04 的容器 miniconda 中,並使用 conda 關鍵字 R:4.05。

我正在使用的 Dockerfile 是這樣的:

FROM ubuntu:20.04
USER root
RUN apt-get update 
RUN apt-get install -y curl
RUN apt-get -y install libcurl4-openssl-dev
RUN apt-get install -y wget 
RUN mkdir -p ~/miniconda3
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O ~/miniconda3/miniconda.sh
RUN bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
RUN export PATH=~/miniconda3/bin:$PATH
RUN rm -rf ~/miniconda3/miniconda.sh
RUN ~/miniconda3/bin/conda init bash
RUN ~/miniconda3/bin/conda init zsh
RUN ~/miniconda3/bin/conda config --add channels conda-forge
RUN ~/miniconda3/bin/activate
RUN ~/miniconda3/bin/conda install -y -c conda-forge r-base

RUN R -e "install.packages('BiocManager')"
RUN R -e "BiocManager::install('DESeq2')"

從第 8 行到第 16 行,我下載了 miniconda 並在 ~/miniconda3 中運行它

在第 17 行:

RUN R -e "install.packages('BiocManager')"

我嘗試使用 R 並從命令行安裝 BiocManager package,但我收到此錯誤:

 > [16/17] RUN R -e "install.packages('BiocManager')":
#19 2.767 /bin/sh: 1: R: not found
------
executor failed running [/bin/sh -c R -e "install.packages('BiocManager')"]: exit code: 127

我也嘗試從 Rocker 的官方發行版開始,但我更喜歡這種方式(我在這篇文章中向您展示的方式),因為我最終會得到一個包含 miniconda 和 R 的圖像.

有人能幫我嗎? 非常感謝!

每個RUN命令都在單獨的 shell 中運行,因此您的export命令設置了路徑,但隨后 shell 退出並為下一個 RUN 命令重置了路徑。

您還必須使用絕對路徑。 波浪號擴展不起作用。

代替

RUN export PATH=~/miniconda3/bin:$PATH

嘗試

ENV PATH=/root/miniconda3/bin:$PATH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM