Запуск старой версии R с использованием Docker образа - PullRequest
1 голос
/ 19 апреля 2020

Я хочу использовать Docker образ старой версии R для моей работы R. Поэтому я использовал -

docker pull rocker/verse:3.3.2

Теперь я хочу запустить это docker изображение как -

docker run rocker/verse:3.3.2

Это дает ответ ниже -

[fix-attrs.d] applying owners & permissions fixes...
[fix-attrs.d] 00-runscripts: applying... 
[fix-attrs.d] 00-runscripts: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] add: executing... 
Nothing additional to add
[cont-init.d] add: exited 0.
[cont-init.d] userconf: executing... 


ERROR: You must set a unique PASSWORD (not 'rstudio') first! e.g. run with:
docker run -e PASSWORD=<YOUR_PASS> -p 8787:8787 rocker/rstudio


[cont-init.d] userconf: exited 1.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

После этого , он перестает отвечать.

Я также пытался использовать пароль, как показано ниже -

sudo docker run -e PASSWORD=abc$ -p 8787:8787 rocker/verse:3.3.2
[fix-attrs.d] applying owners & permissions fixes...
[fix-attrs.d] 00-runscripts: applying... 
[fix-attrs.d] 00-runscripts: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] add: executing... 
Nothing additional to add
[cont-init.d] add: exited 0.
[cont-init.d] userconf: executing... 
[cont-init.d] userconf: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Но после этого я не вижу прогресса даже через 1 час.

Есть ли какие-либо способ использовать старую версию R через docker изображение?

Спасибо,

1 Ответ

1 голос
/ 19 апреля 2020

Проблема в том, что вы не говорите контейнеру ничего делать. Я могу запустить интерактивный R-терминал, как этот, поэтому он, кажется, работает:

$ docker run --rm -it rocker/verse:3.3.2 R

R version 3.3.2 (2016-10-31) -- "Sincere Pumpkin Patch"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> myString <- "Hello, World!"
> print (myString)
[1] "Hello, World!"

Обратите внимание, что я передаю команду R в конце моего docker run вызова. В сочетании с флагами -it это откроет интерактивный терминал R внутри контейнера. Как видите, интерактивный терминал R работает под управлением версии 3.3.2.

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

Другая опция будет передавать bash вместо R, а затем запускать команды оттуда. Еще один вариант - создать Dockerfile внутри проекта, который использует этот образ в своем FROM и копирует R сценарии в контейнер во время сборки. Здесь слишком много вариантов для перечисления, но я думаю, что вы поняли.

Вот несколько хороших ссылок, с которых можно начать:

[1] https://docs.docker.com/engine/reference/commandline/run/. (посмотрите параметры -i и -t)

[2] https://docs.docker.com/engine/reference/builder/

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