RStudio в образе докера не работает с некоторыми библиотеками - PullRequest
0 голосов
/ 05 апреля 2019

У меня проблема с использованием docker rstudio-image rocker/rstudio, предложенного для https://www.rocker -project.org / (контейнеры Docker для R).Поскольку я новичок и в Docker, и в RStudio, я подозреваю, что проблема исходит от меня и не заслуживает сообщения об ошибке:

  • Я открываю соответствующий терминал с помощью «Docker Quickstart Terminal»
  • , где я запускаю изображение с docker run -d -p 8787:8787 -e DISABLE_AUTH=true -v <...>:/home/rstudio/<...> --name rstudio rocker/rstudio
  • в своем браузере, затем я получаю хороший экземпляр RStudio по адресу http://192.168.99.100:8787
  • , но в этом случае я не могуустановите несколько пакетов, таких как xml2.Я получаю сообщение:

    Using PKG_CFLAGS= 
    Using PKG_LIBS=-lxml2
    ------------------------- ANTICONF ERROR ---------------------------
    Configuration failed because libxml-2.0 was not found. Try installing:
     * deb: libxml2-dev (Debian, Ubuntu, etc)
     * rpm: libxml2-devel (Fedora, CentOS, RHEL)
     * csw: libxml2_dev (Solaris)
    If libxml-2.0 is already installed, check that 'pkg-config' is in your
    PATH and PKG_CONFIG_PATH contains a libxml-2.0.pc file. If pkg-config
    is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
    R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
    --------------------------------------------------------------------
    ERROR: configuration failed for package ‘xml2’
    * removing ‘/usr/local/lib/R/site-library/xml2’
    Warning in install.packages :
      installation of package ‘xml2’ had non-zero exit status
    

Я не знаю, есть ли на изображении xml2, но файл libxml-2.0.pc действительно существует на моем ноутбуке в каталоге /opt/local/lib/pkgconfigи pkg-config находится в /opt/local/bin.Поэтому я попытался связать эти пути pkg при запуске образа (чтобы посмотреть, что произойдет, когда я играю со средой изображения в RStudio), добавив опции -v /opt/local/lib/pkgconfig:/home/rstudio/lib/pkgconfig -v /opt/local/bin:/home/rstudio/bin в команду run.Но это не работает: по какой-то причине я не вижу содержимое lib/pkgconfig в RStudio ...

Также экземпляр RStudio не принимает команды root / sudo, поэтому я не могу использовать инструментытакие как apt-get в терминале RStudio

так в чем же подвох?

1 Ответ

1 голос
/ 05 апреля 2019

Библиотеки на вашем ноутбуке (хост для докера) недоступны для докеров. Вы должны создать пользовательский образ с необходимыми библиотеками, создать Dockerfile, например:

FROM rocker/rstudio

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
    libxml2-dev # add any additional libraries you need

CMD ["/init"]

Выше я добавил libxml2-dev, но вы можете добавить столько библиотек, сколько вам нужно.

Затем создайте свой образ с помощью этой команды (вам необходимо выполнить приведенную ниже команду в каталоге, в котором вы создали Dockerfile):

docker build -t my_rstudio:0.1 .

Тогда вы можете запустить свой контейнер:

docker run -d -p 8787:8787 -e DISABLE_AUTH=true --name rstudio my_rstudio:0.1

(вы можете добавить любые дополнительные аргументы, например -v выше).

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