используя webshot внутри док-контейнера - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь использовать webshot) внутри контейнера

, пожалуйста, посмотрите на этот минимальный Dockerfile

FROM rocker/geospatial

RUN R -e 'webshot::install_phantomjs()'

RUN apt-get update -qq && apt-get install -qy \
    ca-certificates \
    bzip2 \
    curl \
    libfontconfig \
    --no-install-recommends \
    && curl -SL https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 > phantom.tar.bz2 \
    && bzip2 -d ./phantom.tar.bz2 \
    && tar -xvf ./phantom.tar -C /usr/local/ --strip-components=1 \
    && rm phantom.tar \
    && apt-get -qy remove bzip2 curl \
&& rm -rf /var/lib/apt/lists/*

затем

docker build . -t test
docker run -it test bash

и внутри R

webshot:::find_phantom() #"/usr/local/bin/phantomjs"
system("ping www.r-project.org") # ok
webshot::webshot("https://www.r-project.org/", "r.png") # nothing happend

Есть идеи почему?

спасибо

1 Ответ

0 голосов
/ 15 декабря 2018

Вероятно, это связано с тем, что по умолчанию вы находитесь в корне дистрибутива и не можете писать на нем.

Если я попробую это:

~$ docker run -it rocker/geospatial bash
~$ R

> webshot::install_phantomjs()
> webshot:::find_phantom()

[1] "/ root / bin / phantomjs "

> list.files() # At the root /
> setwd("/home/rstudio/kitematic/") # Go to allowed directory
> webshot::webshot("https://www.r-project.org/", "r.png")
> list.files()

[1]" r.png "

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