Как найти исполняемый файл блестящего сервера и сослаться на него в блестящем сервере. - PullRequest
0 голосов
/ 18 сентября 2018

Моя сборка образа докера, похоже, прошла хорошо, но у меня проблема с исполняемым файлом блестящего сервера. Главным образом, на глянцевый-сервер.sh исполняемый файл блестящего сервера указывается следующим образом:

#!/bin/sh

# Make sure the directory for individual app logs exists
  mkdir -p /var/log/shiny-server 
chown shiny.shiny /var/log/shiny-server

exec shiny-server >> /var/log/shiny-server.log 2>&1

Приведенный выше код не работает для меня (не знаю почему), поэтому мне пришлось изменить его следующим образом:

#!/bin/bash

# Make sure the directory for individual app logs exists
mkdir -p /var/log/shiny-server
chown shiny.shiny /var/log/shiny-server

if [ "$APPLICATION_LOGS_TO_STDOUT" = "false" ];
then
    exec shiny-server 2>&1
else
    # start shiny server in detached mode
    exec shiny-server 2>&1 &

    # push the "real" application logs to stdout with xtail
    exec xtail /var/log/shiny-server/
fi

Однако я получаю следующие ошибки:

$ docker run -p 80:8080 fitfarmz3

*** warning - no files are being watched ***
/usr/bin/shiny-server.sh: line 12: shiny-server: No such file or directory

Буду признателен, как решить эту проблему.

Здесь я включаю dockerfile:

FROM r-base:3.5.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 


# Add shiny user
RUN groupadd  shiny \
&& useradd --gid shiny --shell /bin/bash --create-home shiny



# Download and install ShinyServer
RUN wget --no-verbose https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.7.907-amd64.deb && \
    gdebi shiny-server-1.5.7.907-amd64.deb


# Install R packages that are required
RUN R -e "install.packages(c('Benchmarking', 'plotly', 'DT'), repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('shiny', repos='https://cloud.r-project.org/')"

# 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"]

1 Ответ

0 голосов
/ 18 сентября 2018

Так что по какой-то причине gdebi не устанавливает ваш shiny-server. Вы можете установить его в Dockerfile следующим образом:

RUN wget --no-verbose https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.7.907-amd64.deb && \ dpkg -i блестящий-сервер-1.5.7.907-amd64.deb

У меня работает. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...