我在使用建议的docker rstudio-image rocker/rstudio
时遇到问题
在https://www.rocker-project.org/上(R的docker容器)。由于我是Docker和RStudio的初学者,因此我怀疑问题是由我引起的,不应该报告错误:
docker run -d -p 8787:8787 -e DISABLE_AUTH=true -v <...>:/home/rstudio/<...> --name rstudio rocker/rstudio
运行图像的地方,但是在这种情况下,我无法安装多个软件包,例如xml2
。我收到消息:
Using PKG_CFLAGS=
Using PKG_LIBS=-lxml2
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libxml-2.0 was not found. Try installing:
* deb: libxml2-dev (Debian, Ubuntu, etc)
* rpm: libxml2-devel (Fedora, CentOS, RHEL)
* csw: libxml2_dev (Solaris)
If libxml-2.0 is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libxml-2.0.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘xml2’
* removing ‘/usr/local/lib/R/site-library/xml2’
Warning in install.packages :
installation of package ‘xml2’ had non-zero exit status
我不知道图像上是否xml2
,但是笔记本电脑上的文件libxml-2.0.pc
确实存在于目录/opt/local/lib/pkgconfig
中,并且pkg-config
在{{1中}}。所以我尝试在运行时链接这些pkg路径
图像(看看我在图像环境中玩耍时发生了什么
在RStudio中),将选项/opt/local/bin
添加到run命令。但这不起作用:出于某种原因
我在RStudio中看不到-v
/opt/local/lib/pkgconfig:/home/rstudio/lib/pkgconfig -v
/opt/local/bin:/home/rstudio/bin
的内容...
RStudio实例也不接受root / sudo命令,所以我不能
在RStudio终端中使用lib/pkgconfig
之类的工具
那么,诀窍是什么?
答案 0 :(得分:1)
便携式计算机(docker的主机)上的库不适用于docker容器。您应该使用所需的库创建自定义图像,并像这样创建Dockerfile
:
FROM rocker/rstudio
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
libxml2-dev # add any additional libraries you need
CMD ["/init"]
在上面我添加了libxml2-dev
,但是您可以根据需要添加任意数量的库。
然后使用此命令构建映像(您需要在创建Dockerfile
的目录中执行以下命令):
docker build -t my_rstudio:0.1 .
然后您可以启动容器:
docker run -d -p 8787:8787 -e DISABLE_AUTH=true --name rstudio my_rstudio:0.1
(您可以在上面添加任何其他参数,例如-v
)。