2017-01-11 11 views
2

法的理由から、Javaはドッカーイメージに別途インストールすることはできませんが、Javaイメージを使用する必要があります。私はRパッケージをインストールしていたときにドッカーイメージにRパッケージをインストールできない

私はしかし、私はそれを必要としてインストールRで、Javaの画像を使用しています私はここで

は、以下の私のDockerfileでエラーに取得:

FROM buildpack-deps:jessie-scm 

# A few problems with compiling Java from source: 
# 1. Oracle. Licensing prevents us from redistributing the official JDK. 
# 2. Compiling OpenJDK also requires the JDK to be installed, and it gets 
#  really hairy. 

RUN apt-get update && apt-get install -y --no-install-recommends \ 
     bzip2 \ 
     unzip \ 
     xz-utils \ 
    && rm -rf /var/lib/apt/lists/* 

# Default to UTF-8 file.encoding 
ENV LANG C.UTF-8 

# add a simple script that can auto-detect the appropriate JAVA_HOME value 
# based on whether the JDK or only the JRE is installed 
RUN { \ 
     echo '#!/bin/sh'; \ 
     echo 'set -e'; \ 
     echo; \ 
     echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \ 
    } > /usr/local/bin/docker-java-home \ 
    && chmod +x /usr/local/bin/docker-java-home 

ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64 

ENV JAVA_VERSION 7u111 
ENV JAVA_DEBIAN_VERSION 7u111-2.6.7-2~deb8u1 

RUN set -x \ 
    && apt-get update \ 
    && apt-get install -y \ 
     openjdk-7-jdk="$JAVA_DEBIAN_VERSION" \ 
    && rm -rf /var/lib/apt/lists/* \ 
    && [ "$JAVA_HOME" = "$(docker-java-home)" ] 

# If you're reading this and have any feedback on how this image could be 
# improved, please open an issue or a pull request so we can discuss it! 

# system libraries of general use 
RUN apt-get update && apt-get install -y \ 
    sudo \ 
    pandoc \ 
    pandoc-citeproc \ 
    libcurl4-gnutls-dev \ 
    libcairo2-dev \ 
    libxt-dev \ 
    libssl-dev \ 
    libssh2-1-dev \ 
    libssl1.0.0 

# system library dependency for the euler app 
RUN apt-get update && apt-get install -y \ 
    libmpfr-dev 

RUN sudo apt-get install -y \ 
    r-base r-base-dev 

# basic shiny functionality 
RUN R -e "install.packages(c('shiny', 'rmarkdown'), repos='https://cloud.r-project.org/')" 

# install dependencies 
RUN R -e "install.packages('Rmpfr', repos='https://cloud.r-project.org/')" 

# Special Package 
RUN R -e "install.packages('shiny')" 
RUN R -e "install.packages('shinydashboard')" 
RUN R -e "install.packages('plyr')" 
RUN R -e "install.packages('dplyr')" 
RUN R -e "install.packages('ggplot2')" 
RUN R -e "install.packages('tm')" 
RUN R -e "install.packages('SnowballC')" 
RUN R -e "install.packages('wordcloud')" 
RUN R -e "install.packages('RWeka')" 
RUN R -e "install.packages('reshape2')" 
RUN R -e "install.packages('igraph')" 



# copy the app to the image 
RUN mkdir /root/testapp1 
COPY testapp1 /root/testapp1 

COPY Rprofile.site /usr/lib/R/etc/ 

EXPOSE 3838 

CMD ["R", "-e shiny::runApp('/root/testapp1')"] 

Iどのように私は問題のこの頭痛を解決することができます

> install.packages('shiny') 
Installing package into ‘/usr/local/lib/R/site-library’ 
(as ‘lib’ is unspecified) 
Error in contrib.url(repos, type) : 
    trying to use CRAN without setting a mirror 
Calls: install.packages -> grep -> contrib.url 
Execution halted 
The command '/bin/sh -c R -e "install.packages('shiny')"' returned a non-zero code: 1 

:私は下に、このエラーを取得する任意のRパッケージをインストールしてみてください。

ありがとうございました。

答えて

3

R環境でinstall.packages('shiny')を実行すると、ダウンロードしたいミラーから選択するように求められます。

> install.packages('shiny') 

Installing package into ‘/Users/user/Library/R/3.3/library’ 
(as ‘lib’ is unspecified) 

--- Please select a CRAN mirror for use in this session --- 
HTTPS CRAN mirror 

1: 0-Cloud [https]     
2: Algeria [https] 
... 
55: (HTTP mirrors) 

Selection: 

あなたのエラー出力によると、実行しようとすると、コマンド RUN R -e "install.packages(c('shiny', 'rmarkdown'), repos='https://cloud.r-project.org/')"

し、次のいずれかが(エラー終了1)実行し、その後、失敗しているようだ:

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

代わりにinstall.packages('shiny', repos='https://cloud.r-project.org/')を入力すると、何も尋ねずにサイレントインストールが行われます。

+0

ここで同じ問題が発生しましたが、誰でも手伝うことができます。https://stackoverflow.com/questions/47486994/how-to-run-r-script-in-docker –

2

reposの引数が指定されていないinstall.pacakgesのメソッドからエラーが発生しているようです。

ドッカーファイルを使用してinstall.packagesをローカルマシンのrepos='http://cran.us.r-project.org/'にアップデートすると、イメージは正常に構築されていました。

関連する問題