首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中对使用mxnet包的应用进行Docker化

在R中对使用mxnet包的应用进行Docker化
EN

Stack Overflow用户
提问于 2016-12-12 01:30:42
回答 1查看 187关注 0票数 2

我正在对接一个使用'mxnet‘包的闪亮的应用程序。经过大量的努力,我得出结论,我需要构建和安装软件包,而不是从dmlc代码库中正常安装它。下面是我尝试构建和安装mxnet的简化dockerfile:

代码语言:javascript
复制
FROM r-base:latest


RUN apt-get update && apt-get install -y \
sudo \
gdebi-core \
pandoc \
pandoc-citeproc \
libcurl4-gnutls-dev \
libcairo2-dev/unstable \
libxt-dev \
libssl-dev

# Download and install shiny server
RUN wget --no-verbose https://s3.amazonaws.com/rstudio-shiny-server-os-   build/ubuntu-12.04/x86_64/VERSION -O "version.txt" && \
VERSION=$(cat version.txt)  && \
wget --no-verbose "https://s3.amazonaws.com/rstudio-shiny-server-os- build/ubuntu-12.04/x86_64/shiny-server-$VERSION-amd64.deb" -O ss-latest.deb && \
gdebi -n ss-latest.deb && \
rm -f version.txt ss-latest.deb

# Here comes the installation of other required packages:
# .......



#*** Here comes the problamatic bit: building Installing mxnet
RUN sudo apt-get update
RUN sudo apt-get install -y build-essential git libatlas-base-dev libopencv-dev

RUN git clone --recursive https://github.com/dmlc/mxnet
RUN cd mxnet; make -j$(nproc)

RUN Rscript -e "install.packages('devtools', repo = 'https://cran.rstudio.com')"

RUN cd R-package

RUN Rscript -e "library('devtools'); library('methods'); options(repos=c(CRAN='https://cran.rstudio.com')); install_deps(dependencies = TRUE)"


RUN cd ..

RUN make rpkg


COPY shiny-server.conf  /etc/shiny-server/shiny-server.conf
COPY /myapp/* /srv/shiny-server/

EXPOSE 80

COPY shiny-server.sh /usr/bin/shiny-server.sh

CMD ["/usr/bin/shiny-server.sh"]

运行此命令后,我收到一个错误消息:

代码语言:javascript
复制
can not cd to R-Package

有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-12 14:59:00

尝试使用

RUN cd mxnet; make -j$(nproc)\ && Rscript -e "install.packages('devtools', repo = 'https://cran.rstudio.com')"

您的用户不会执行您期望的操作,这与打开一个终端,执行cd abc/def和在另一个终端中执行cd ..相同,该终端位于/home/$USER中,您将不在abc中。

应对运行命令进行分组,以限制图像中的层数,请参阅

https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/

还要检查Dockerfile中的WORKDIR指令

https://docs.docker.com/engine/reference/builder/#workdir

您可以通过启动一个shell来检查是否正确完成了哪些操作

docker run -it your_image /bin/bash

然后检查存在或不存在什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41088972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档