运行容器时,将找不到 Dockerfile 中已安装的 R 包

我正在尝试在Python Docker映像中安装多个R包。我有这个小:Dockerfile


# Python 3.7.5

FROM python:3.7.5

ENV PYTHONUNBUFFERED 1


# Install R 3.6

RUN echo 'deb http://cran.rstudio.com/bin/linux/debian buster-cran35/' >> /etc/apt/sources.list

RUN apt install dirmngr

RUN apt-key adv --keyserver keys.gnupg.net --recv-key 'E19F5F87128899B192B1A2C2AD5F960A256A04AF'

RUN apt update

RUN apt install -y r-base

 

# Install R dependencies

RUN R -e "install.packages('BiocManager', dependencies=TRUE, repos='http://cran.rstudio.com/')"

它不会引发任何错误。但是当我跑步并做:docker container exec -it <my container> bash


Rscript -e 'installed.packages()' | grep BiocManager


没有任何结果。我不知道这是否适用,但在构建过程中它会抛出:


下载的源包位于


'/tmp/Rtmp7jBLWQ/downloaded_packages'


也许它在临时文件夹上安装软件包是问题所在。有没有办法安装 R 包,而无需基于 R 基础映像和使用映像?install2.r


青春有我
浏览 132回答 1
1回答

Helenr

真可惜...我有一个带有子句的docker-compose,我忘记运行。这就是更改未应用的原因。build: .docker-compose build但是,我使用 r-base 映像以更简单的方式安装依赖项。我的最后一个是:DockerfileFROM r-base:3.6.2# Install R dependenciesRUN install2.r --error BiocManager# Install Python 3.7RUN apt install -y python3.7 python3-pip
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python