Ich dockeriere eine glänzende App, die das Paket 'mxnet' verwendet. Nach vielen Bemühungen kam ich zu dem Schluss, dass ich das Paket erstellen und installieren muss, anstatt es nur normal von den dmlc-Repos zu installieren. Unten ist mir vereinfachte dockerfile, die die MxNet zu bauen und zu installieren versucht:Eine App dockern, die das mxnet-Paket in R verwendet
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"]
Danach läuft, erhalte ich eine Fehlermeldung, dass:
can not cd to R-Package
Jede Hilfe?
Der zweite Teil Ihrer Antwort war sehr hilfreich. Ich habe es geschafft, es zu bauen, als ich das "WORKDIR" verwendete, aber das Verbinden der zwei Laufbefehle war nicht wirklich das Problem. Du kannst deine Antwort entsprechend ändern, damit ich dir Danke sagen und akzeptieren kann;) – owise