Вопрос:

Dockerized блестящее приложение не работает при загрузке данных вне контейнера

r docker shiny shiny-server

9 просмотра

1 ответ

2149 Репутация автора

У меня есть простое блестящее приложение, которое загружает данные из dataпапки и генерирует интерактивный сюжет. Я докернизировал свое блестящее приложение. Я положил dataпапку в контейнере. Dockerized приложение может быть успешно развернуто на моем локальном хосте. Вот мой global.rфайл:

library(shiny) 
library(dplyr)
df = readRDS('./data/mydata.rds')

В конце концов мне нужно блестящее приложение для загрузки данных из внешней папки. Поэтому я изменил свой global.rфайл так:

library(shiny) 
library(dplyr)
df = readRDS('c:/user/document/data/mydata.rds')

Здесь я хочу, чтобы приложение загружало данные из одной из папок на моем локальном диске. c:/user/document/data/, Приложение работает отлично само по себе. Но после того, как я его докертизировал и попытался запустить образ докера на localhost. Это не удалось!

Мне кажется, что приложение не может подключиться к папке за пределами контейнера Docker? Я новичок в докере. Я не совсем понимаю....

Кто-нибудь знает, как я могу заставить блестящее приложение подключаться и загружать данные из папки за пределами контейнера докера? Либо из папки на локальном диске, либо из папки sharepoint, либо ....? Большое спасибо!

Автор: zesla Источник Размещён: 11.08.2019 06:25

Ответы (1)


0 плюса

310 Репутация автора

Контейнеры Docker как таковые не могут получить доступ к данным извне. Вы должны использовать объемы для этого. Том в основном действует как общее хранилище как для вашего хоста, так и для контейнера. Таким образом, при запуске вашего Docker-контейнера вам нужно указать путь к хосту и путь к контейнеру, как этоdocker run --volume=/host-path/data/:/container-path/data container-name

Автор: Praveen Rewar Размещён: 11.08.2019 07:29
Вопросы из категории :
32x32