R包的问题安装在Postgres Docker Image中

时间:2017-04-07 03:13:36

标签: r postgresql

我有一个postgres Dockerfile,完全正常。我设法通过Dockerfile在映像中安装R-3.3.3,并发现这个容器正常工作。但是,当我尝试通过以下条目安装软件包时,映像创建成功,但是它的容器立即以正常状态退出。以下是我添加的新条目,它们改变了行为。我错过了什么?

  RUN   R -e "install.packages('devtools',repos='http://cran.us.r-project.org')"
      && R -e "install.packages('RPostgreSQL',repos='http://cran.us.r-project.org')" \
      && R -e "install.packages('hash',repos='http://cran.us.r-project.org')" \
      && R -e "install.packages('nloptr',repos='http://cran.us.r-project.org')" \
      && R -e "install.packages('DBI',repos='http://cran.us.r-project.org')" \
      && R -e "install.packages('Rcpp',repos='http://cran.us.r-project.org')" \
      && R -e "install.packages('BH',repos='http://cran.us.r-project.org')"

1 个答案:

答案 0 :(得分:0)

这一切都很好。 Docker文件有些不正确。我把它们放在一起后,一切都开始正常了。

RUN   apt-get install -y --auto-remove \
      default-jdk \
      libcurl4-openssl-dev \
      build-essential \
      gfortran \
      zlib1g \
      zlib1g-dev \
      libbz2-dev \
      liblzma-dev \
      libpcre3-dev \
      postgresql-9.6-plr \
      libpq-dev \
      libssl-dev \
  &&  LD_LIBRARY_PATH=/usr/lib/apt/methods/bzip2 apt-get -y install wget \
  &&  wget -O /R-3.3.3.tar.gz https://cran.r-project.org/src/base/R-3/R-3.3.3.tar.gz \
  &&  cd / \
  &&  gunzip /R-3.3.3.tar.gz \
  &&  tar xvf R-3.3.3.tar \
  &&  cd R-3.3.3 \
  &&  ./configure --prefix=/usr --with-readline=no --with-x=no \
  && make \
  && make install \
  && R -e "install.packages('devtools',repos='http://cran.us.r-project.org')" \
  && R -e "install.packages('RPostgreSQL',repos='http://cran.us.r-project.org')" \
  && R -e "install.packages('hash',repos='http://cran.us.r-project.org')" \
  && R -e "install.packages('nloptr',repos='http://cran.us.r-project.org')" \
  && R -e "install.packages('DBI',repos='http://cran.us.r-project.org')" \
  && R -e "install.packages('Rcpp',repos='http://cran.us.r-project.org')" \
  && R -e "install.packages('BH',repos='http://cran.us.r-project.org')" \
  && cd .. \
  && rm  R-3.3.3.tar \
  && rm -rf R-3.3.3 \
  && apt purge -y --auto-remove \
         default-jdk \
         libssl-dev \
         libpq-dev \
         libpcre3-dev \
         liblzma-dev \
         libbz2-dev \
         zlib1g-dev \
         libcurl4-openssl-dev \
         build-essential \
         wget \
   && rm -f /tmp/Rtmp* \
   && apt-get -y autoremove