Hi All,
I have been facing a issue while dockerization a shiny application. The image is build successfully and is able to run on my system but when i send it other they are getting this error while running the container:
Error in read.dcf(descFile, fields = "Type") : Line starting 'Unnamed repository; ...' is malformed! Calls: runApp ... shinyAppDir_appR -> appObj -> func -> loadSupport -> read.dcf Execution halted
My docker file is below and I am not using any description file in my code:
# Example shiny app dock
# get shiny server and R from the rocker project
FROM rocker/shiny-verse:latest
# system libraries
RUN apt-get update && apt-get install -y \
libcurl4-gnutls-dev \
libssl-dev
# install R packages required
# Change the packages list to suit your needs
RUN R -e 'install.packages(c(\
"shiny", \
"shinydashboard", \
"ggplot2" \
), \
repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2021-04-23"\
)'
# install R packages required
RUN Rscript -e "install.packages('RODBC')"
RUN Rscript -e "install.packages('sqldf')"
RUN Rscript -e "install.packages('dplyr')"
RUN Rscript -e "install.packages('shinyWidgets')"
RUN Rscript -e "install.packages('gridExtra')"
RUN R -e "install.packages('kableExtra')"
RUN R -e "install.packages('DT')"
RUN R -e "install.packages('readr')"
# apt-get and system utilities
RUN apt-get update && apt-get install -y \
curl apt-utils apt-transport-https debconf-utils gcc build-essential \
&& rm -rf /var/lib/apt/lists/*
RUN sudo su
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN sudo apt-get update
RUN sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for unixODBC development headers
RUN sudo apt-get install -y unixodbc-dev
#Expose port
EXPOSE 3838
#Download tiny tex
RUN Rscript -e "source('https://install-github.me/yihui/tinytex'); tinytex::r_texmf()"
RUN wget "https://travis-bin.yihui.name/texlive-local.deb" \
&& dpkg -i texlive-local.deb \
&& rm texlive-local.deb \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
vim \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/ \
## Use tinytex for LaTeX installation
&& install2.r --error tinytex \
## Admin-based install of TinyTeX:
&& wget -qO- \
"https://github.com/yihui/tinytex/raw/master/tools/install-unx.sh" | \
sh -s - --admin --no-path \
&& mv ~/.TinyTeX /opt/TinyTeX \
&& /opt/TinyTeX/bin/*/tlmgr path add \
&& tlmgr install ae inconsolata listings metafont mfware parskip pdfcrop tex \
&& tlmgr path add \
&& Rscript -e "tinytex::r_texmf()"
RUN Rscript -e "tinytex::tlmgr_install('fancyhdr')"
# copy the app directory into the image
COPY ./* /srv/shiny-server/
#Give permission to write
RUN chmod 777 -R /srv/shiny-server
#Running the application
ENTRYPOINT echo "SERVER=${SERVER}" >> /usr/local/lib/R/etc/Renviron && echo "DATABASE=${DATABASE}" >> /usr/local/lib/R/etc/Renviron && echo "PASSWORD=${PASSWORD}" >> /usr/local/lib/R/etc/Renviron && echo "DB_USERNAME=${DB_USERNAME}" >> /usr/local/lib/R/etc/Renviron && /usr/bin/shiny-server && /bin/bash