Я пытаюсь заставить приложение Shiny работать в качестве веб-сервера на капле Digital Ocean, используя изображение докера от Rocker.Кажется, все работает нормально, но почему-то я не могу получить доступ к странице через браузер.
Кажется, что Docker правильно подключен к порту 80 на дроплете:
Кажется, что R правильно слушает порт 80 внутри контейнера Docker:
Список процессов Docker выглядит правильно:
Asвыводит ли список машин:
Команда, с которой я запустил контейнер:
docker run -d -p 80:80 --name ggplotgui jelkink/fpr
Мой Dockerfile выглядит следующим образом:
FROM rocker/shiny:latest
COPY . /srv/shiny-server/docker
RUN sudo apt-get install -y libssl-dev xdg-utils
RUN sudo R -e "install.packages(c('shiny', 'dplyr', 'plotly',
'rmarkdown', 'ggplot2', 'readxl', 'haven', 'rio', 'stringr', 'readr',
'devtools'))"
RUN chmod +x /srv/shiny-server/docker/continuous_shiny_run.sh
EXPOSE 80
CMD /srv/shiny-server/docker/continuous_shiny_run.sh
Хотя, если честно, мне так и не удалось заставить его работать под моей локальной установкой Docker, так что, возможно, это не связано с DigitalOcean.
Запуск примера nginx hello world на DigitalOcean - та же капля, другой образ докера - работает просто отлично, включая использование порта 80.
Мой Shiny-код явно запрашивает порт 80:
shinyApp(ui, server, options = list(port = 80))