无法在r-docker中安装devtools

无法在r-docker中安装devtools,r,docker,shiny,R,Docker,Shiny,我正在尝试为我闪亮的应用程序构建一个docker图像。下面是我的dockerfile。当我构建映像时,其他一切似乎都正常,除了我在库(devtools)中收到错误消息error:没有名为“devtools”的包被暂停执行。我还尝试了devtools::install_github('nik01010/dashboardthemes'),但没有成功。我不知道为什么?会出什么问题?有人知道我的dockerfile有什么问题吗?非常感谢 # Install R version 3.6 FROM r-b

我正在尝试为我闪亮的应用程序构建一个docker图像。下面是我的
dockerfile
。当我构建映像时,其他一切似乎都正常,除了我在库(devtools)中收到错误消息
error:没有名为“devtools”的包被暂停执行
。我还尝试了
devtools::install_github('nik01010/dashboardthemes')
,但没有成功。我不知道为什么?会出什么问题?有人知道我的dockerfile有什么问题吗?非常感谢

# Install R version 3.6
FROM r-base:3.6.0

# Install Ubuntu packages
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 ShinyServer (latest version)
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

# Install R packages that are required
RUN R -e "install.packages(c('devtools', 'shiny','shinythemes','shinydashboard','shinyWidgets','shinyjs', 'tidyverse', 'dplyr', 'ggplot2','rlang','DT','lubridate', 'plotly',  'leaflet', 'mapview', 'tigris', 'rgdal', 'visNetwork', 'wordcloud2', 'arules'), repos='http://cran.rstudio.com/')"
RUN R -e "library(devtools)"
RUN R -e "install_github('nik01010/dashboardthemes')"


# Copy configuration files into the Docker image
COPY shiny-server.conf  /etc/shiny-server/shiny-server.conf
COPY /app /srv/shiny-server/

# Make the ShinyApp available at port 80
EXPOSE 80

# Copy further configuration files into the Docker image
COPY shiny-server.sh /usr/bin/shiny-server.sh

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

您可以尝试几种方法

最简单:

使用
remotes::安装\u github
而不是
devtools
<如果不需要其他功能,则代码>遥控器的依赖项要少得多

第二简单:

使用Docker Hub中的图像,而不是baseR图像

docker pull rocker/tidyverse
更改第2行:

FROM rocker/verse
最难:

否则,在安装
devtools
之前,您需要确定需要在docker映像中安装哪些依赖项。如果您尝试以交互方式安装它,这可能是显而易见的

  • 确保容器正在运行
  • 使用
    docker ps
  • 使用
    docker exec-it/bin/bash启动shell
  • 启动
    R
    并尝试以交互方式安装
    devtools

  • 您可以尝试几种方法

    最简单:

    使用
    remotes::安装\u github
    而不是
    devtools
    <如果不需要其他功能,则代码>遥控器的依赖项要少得多

    第二简单:

    使用Docker Hub中的图像,而不是baseR图像

    docker pull rocker/tidyverse
    
    更改第2行:

    FROM rocker/verse
    
    最难:

    否则,在安装
    devtools
    之前,您需要确定需要在docker映像中安装哪些依赖项。如果您尝试以交互方式安装它,这可能是显而易见的

  • 确保容器正在运行
  • 使用
    docker ps
  • 使用
    docker exec-it/bin/bash启动shell
  • 启动
    R
    并尝试以交互方式安装
    devtools

  • 非常感谢!我还有另一个问题,那就是努力打造闪亮的docker形象。我把它作为一个单独的问题提出。如果你能帮忙,我真的很感激。非常感谢!我还有另一个问题,那就是努力打造闪亮的docker形象。我把它作为一个单独的问题提出。如果你能帮忙,我真的很感激。