Giter VIP home page Giter VIP logo

rocker-versioned's Introduction

license Project Status: Moved to https://github.com/rocker-org/rocker-versioned2 – The project has been moved to a new location, and the version at that location should be considered authoritative. DOI

Visit rocker-project.org for more about available Rocker images, configuration, and use.

This repository contains archived build scripts from the 3.x versioned series only. Visit rocker-versioned2 for current build scripts for 4.x versioned images.

Version-stable Rocker images for R 3.x

rocker

For documentation for R >= 4.0.0, for images r-ver, rstudio, tidyverse, verse, geospatial, shiny, and binder, please see the rocker-versioned2 repository.

image description size metrics build status
r-ver Version-stable base R & src build tools
rstudio Adds rstudio
tidyverse Adds tidyverse & devtools
verse Adds tex & publishing-related packages

rocker/geospatial, rocker/binder and rocker/shiny are also build on this stack, following the same versioning rules as described here.

This repository provides alternate stack to r-base, with an emphasis on reproducibility. Compared to those images, this stack:

  • builds on debian stable (debian:jessie for versions < 3.4.0, debian:stretch after, etc) release instead of debian:testing, so no more apt-get breaking when debian:testing repos are updated and you had to muck with -t unstable to get apt-get to work.
  • Further, this stack installs a fixed version of R itself from source, rather than whatever is already packaged for Debian (the r-base stack gets the latest R version as a binary from debian:unstable),
  • and it installs all R packages from a fixed snapshot of CRAN at a given date (MRAN repos).
  • provides images that are generally smaller than the r-base series

Users should include the version tag, e.g. rocker/verse:3.3.1 when reproduciblity is paramount, and use the default latest tag, e.g. rocker/verse for the most up-to-date R packages. All images still receive any Debian security patch updates. Note that any debian packages on these images (C libraries, compilers, etc) will likely be older/earlier versions than those found on the r-base image series.

NOTES

  • do not use apt-get install r-cran-* to install R packages on this stack. The requested R version and all R packages are installed from source in the version-stable stack. Installing R packages from apt (e.g. the r-cran-* packages) will install the version of R and versions of the packages that were built for the stable debian release (e.g. debian:stretch), giving you a second version of R and different packages. Please install R packages from source using the install.packages() R function (or the install2.r script), and use apt only to install necessary system libraries (e.g. libxml2). If you would prefer to install only the latest verions of packages from pre-built binaries using apt-get, consider using the r-base stack instead.

Version Tags

Using the R version tag will naturally lock the R version, and also lock the install date of any R packages on the image. For example, rocker/tidyverse:3.3.1 Docker image will always rebuild with R 3.3.1 and R packages installed from the 2016-10-31 MRAN snapshot, corresponding to the last day that version of R was the most recent release. Meanwhile rocker/tidyverse:latest will always have both the latest R version and latest versions of the R packages, built nightly.

See VERSIONS.md for details

Images

The image rocker/r-ver is the functional equivalent of r-base, though slightly pared down. Currently r-ver has tags for all minor R versions back to 3.1.0 (as far back as MRAN snapshots of CRAN are avialable); see all tags. Users can attempt to build other versions from the r-ver Dockerfile by specifying --build-arg R_VERSION=<VERSION>, though this is unlikely to work with very old R versions. Likewise, all non-current images are automatically pinned to a MRAN snapshot of CRAN from the last day that version was current. Users can set a custom snapshot date for the r-ver images by using --build-arg BUILD_DATE=<DATE> when building that Dockerfile.

The rocker/rstudio image builds with the latest version of RStudio by default. This can be customized by specifying the desired version in --build-arg RSTUDIO_VERSION=<VERSION> if building locally from its Dockerfile.

RStudio and Runtime Options

See the RStudio README for documentation on setting passwords, sharing volumes, adding RStudio Shiny Server(TM), and other configuration.

Maintenance and Updates

These images are actively maintained. This means that while an effort is made to preserve the general function of these images over time, both these Dockerfiles and the resulting images are subject to some change over time. In particular:

  • Images are regularly re-built on Docker Hub whenever their base image changes, starting with changes to debian Docker image. This is the rough equivalent of running apt-get upgrade on debian, since all apt-get commands are re-run and will pull in the most current sources. This allows the images to receive security updates to any packages installed from the debian repositories, but will not in general change the versions of any software and is very unlikely to break anything.

  • The Dockerfiles themselves are subject to change, to improve performance, ease of use, readability, or other concerns raised in the issues. These changes should also not alter the general behavior of R or R packages on the image. These changes can be seen in the git history. The rocker-versioned repo will use its own semantic version tagging to indicate changes to this repository, with snapshots from these tags archived on Zenodo.

License

The Dockerfiles in this repository are licensed under the GPL 2 or later.

Trademarks

RStudio is a registered trademark of RStudio, Inc. The use of the trademarked term RStudio and the distribution of the RStudio binaries through the images hosted on hub.docker.com has been granted by explicit permission of RStudio. Please review RStudio's trademark use policy and address inquiries about further distribution or other questions to [email protected].

rocker-versioned's People

Contributors

bisaloo avatar cboettig avatar colinfay avatar daroczig avatar dbast avatar dougmet avatar dpastoor avatar dpprdan avatar eitsupi avatar gmbecker avatar haodong avatar infotroph avatar jameslamb avatar karl-forner-quartz-bio avatar link-ny avatar mdedonno1337 avatar nathanweeks avatar noamross avatar nturaga avatar nuest avatar phgrosjean avatar riccardoporreca avatar rkrug avatar rnuske avatar rpln avatar rstub avatar sadatnfs avatar shrektan avatar statnmap avatar timtrice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rocker-versioned's Issues

verse:3.3.1 depends on the tidyverse:latest

The rocker/verse:3.3.1 is built based on rocker/tidyverse:latest. I think it supposed to be rocker/tidyverse:3.3.1. Please ignore it supposed to be the latest tidyverse.

rocker/verse doesn't properly knit to PDF with tidyverse.

A recent (I think) update to tidyverse added Unicode char √ (U+221A) to the output, which Pandoc complains about. When loading tidyverse:

── Attaching packages ─────────────────── tidyverse 1.2.1 ──
✔ ggplot2 2.2.1     ✔ purrr   0.2.4
✔ tibble  1.4.1     ✔ dplyr   0.7.4
✔ tidyr   0.7.2     ✔ stringr 1.2.0
✔ readr   1.1.1     ✔ forcats 0.2.0
── Conflicts ────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()

And when kniting...

! Package inputenc Error: Unicode char √ (U+221A)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.161 \end{verbatim}

Try running pandoc with --latex-engine=xelatex.
pandoc: Error producing PDF
Error: pandoc document conversion failed with error 43
Execution halted

Aliases for latest point releases of each version

It might be helpful to have aliases for latest point releases of each version.
So something akin to 3.1.latest, 3.2.latest.... 3.4.latest.

Also stable which points to latest 3.x.latest (3.4.1 currently), and oldrel which points to latest point release of current -1 release.

Also 3.2.5 is missing from the builds.

rJava newly failing to install

As recently as Thursday evening, I was able to pull from rocker/rstudio:3.3.1 and install RJDBC and rJava with the Dockerfile below. I have tried all kinds of changes but keep running into similar errors since then. I'd love some help to get back to a working configuration. I am having a heck of a time trying to figure out what changed over night.

FROM rocker/rstudio:3.3.1

RUN apt-get update -qq && apt-get -y --no-install-recommends install \
  libxml2-dev \
  libcairo2-dev \
  libsqlite-dev \
  libmariadbd-dev \
  libmariadb-client-lgpl-dev \
  libpq-dev \
  default-jdk \
  && R CMD javareconf \
  && . /etc/environment \
  && install2.r --error \
    --repos 'http://www.bioconductor.org/packages/release/bioc' \
    --repos $MRAN \ 
    --deps "TRUE" \
    ## explicitly include dplyr & ggplot2 to get their suggests lists
    tidyverse devtools profvis openxlsx RJDBC data.table yaml ggplot2
gcc -std=gnu99 -c -o rjava.o rjava.c -g -Iinclude  -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -I/usr/lib/jvm/java-7-openjdk-amd64/jre/../include  -fpic -I/usr/lib/jvm/java-7-openjdk-amd64/jre/../include
rjava.c: In function ‘RJava_request_lock’:
rjava.c:22:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
   write(ipcout, buf, sizeof(ptrlong));
   ^
rjava.c: In function ‘RJava_clear_lock’:
rjava.c:30:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
   write(ipcout, buf, sizeof(ptrlong));
   ^
rjava.c: In function ‘RJava_request_callback’:
rjava.c:39:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
   write(ipcout, buf, sizeof(ptrlong) * 3);
   ^
rjava.c: In function ‘RJava_init_ctrl’:
rjava.c:51:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
   write(ipcout, buf, sizeof(ptrlong));
   ^
rjava.c:52:3: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
   read(resin, buf, sizeof(ptrlong) * 2);
   ^
gcc -std=gnu99 -o libjri.so Rengine.o jri.o Rcallbacks.o Rinit.o globals.o rjava.o  -shared -L/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server -ljvm -Wl,--export-dynamic -fopenmp  -L/usr/local/lib/R/lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm -licuuc -licui18n
/usr/bin/ld: cannot find -lbz2
/usr/bin/ld: cannot find -licuuc
/usr/bin/ld: cannot find -licui18n
collect2: error: ld returned 1 exit status
make[2]: *** [libjri.so] Error 1
Makefile.all:38: recipe for target 'libjri.so' failed
make[2]: Leaving directory '/tmp/Rtmpni7i3j/R.INSTALLb4526d83498/rJava/jri/src'
Makefile.all:21: recipe for target 'src/JRI.jar' failed
make[1]: *** [src/JRI.jar] Error 2
make[1]: Leaving directory '/tmp/Rtmpni7i3j/R.INSTALLb4526d83498/rJava/jri'
Makevars:14: recipe for target 'jri' failed
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’
* removing ‘/usr/local/lib/R/site-library/rJava’
Error in install.packages(pkgs = f, lib = lib, repos = if (isMatchingFile(f)) NULL else rep,  :
  installation of package ‘rJava’ had non-zero exit status
In addition: Warning messages:
1: In if (opt$repos == "NULL") { :
  the condition has length > 1 and only the first element will be used
2: In if (opt$repos == "getOption") { :
  the condition has length > 1 and only the first element will be used

installGithub.r fails with error

Hi,
I noticed that for the latest build of rocker/r-ver executing the littler installation script installGithub.r fails with the following error:

`Error in library(remotes) : there is no package called ‘remotes’

Since the latest littler-release, the script attempts to load the package 'remotes', but the package is not installed.

Could be fixed by including remotes in the rocker images.
Probably, the installation script could also be patched by replacing the function 'library()' with 'require'. 'library()' fails with an error if the library is not available.

Cannot launch terminal in RStudio 1.1.419 (rocker/verse:3.4.3)

Since RStudio 1.1.419, I cannot launch any terminal. I use rocker/verse:3.4.3.
I test with an older image (rocker/verse:3.4.1 with RStudio 1.1.383), and it works perfectly.


edit
Here is info about rocker/verse:3.4.3 image and system:

IMAGE ID
c073e6900b7d

Docker version 17.12.0-ce, build c97c6d6

System:
Ubuntu 16.04 xenial (x86-64)
Linux kernel:
4.4.0-112-generic

question: choose rstudio version and choose r version

I've treeaged the nested dockerfile "From" statements and i think its possible, but just not sure how.

Thru docker, can the user specify the rstudio version (say the 1.1+ with all the nifty new features) but also specify the r version (say 3.4) thru the docker command line? I'm guessing you use tags somewhere?

As a contrasting example, If i pull a rocker image with a explicit older R version tag, it kind of pigeon holes me into an older version of Rstudio server (without the new features)

I've looked at the various readmes and issues from the disparate rocker files and can't seem to find a clear answer

Expose VOLUME for Kitematic users?

Before depending on rocker-versioned, rocker images included a VOLUME instruction to expose /home/rstudio for Kitematic users (see rocker-org/rocker@732378c, for instance). This instruction is gone now in rocker-versioned. Is this by design? Can VOLUME be added back in, or is it best to just use the various rocker images from terminal?

[rocker/verse] xelatex not found when building pdf with bookdown

I plan to use rocker/verse to build bookdown websites with GitLab Pages and GitLab CI (you can see a demo website here)
All work fine with pdflatex as latex_engine. But, when I try to use xelatex instead of pdflatex, I get the following error:

sh: 1: xelatex: not found

Thanks a lot for your work, Rocker rocks! 🤘

File "multirow.sty" not found and cannot be installed with package manager

Hello,

I hope this is the correct place to address this issue.

I'd like to generate a Rmarkdown document with bookdown and kable tables. HTML output works fine, but PDF output does not:

This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode ! LaTeX Error: File 'multirow.sty' not found.

This file is part of the package texlive-latex-extra, but installation of this package (and its dependencies) fails with some obscure errors, which appear as yet to be unresolved:

E: Sub-process /usr/bin/dpkg returned an error code (1) Setting up texlive-base (2016.20170123-5) ... Can't use string ("2") as an ARRAY ref while "strict refs" in use at /usr/bin/tl-paper line 112.

See https://www.tug.org/pipermail/tex-live/2015-December/037551.html for details on this error.

My understanding is that you're not using the Debian TeX packages but others. Would it be possible to install this file into the container so kable can produce PDF output?

Cheers,

Enno

using mran snapshots for packages

The debian snapshot stuff is really great, and I guess we would need the same system for R packages.
Is not that what MRAN snapshots are providing ? (only from the august 2014 currently)

Deprecated packages in tidyverse:latest

For instance the version of dplyr installed is 0.5.0 while the version on cran is 0.7.0.
Apparently, that comes from the installation of bioconductor in the Dockerfile.

 && R -e "source('https://bioconductor.org/biocLite.R')" \

Why is bioconductor needed anyway?

Knit PDF not working in R-ver:3.3.2

The error message is framed.sty not found. Tried to install it by sudo tlmgr update --self sudo tlmgr install framed. It should work, but It didn't.

In compatibilities between latest RStudio Server ans older MRAN

I understand one likes to use the latest RStudio Server, even with older R/MRAN versions. However, more recent RStudio Server also require more recent R packages.

For instance, rocker/rstudio:3.3.3 cannot knit R Markdown anymore with RStudio 1.1.383 because the rmarkdown package on MRAN (2017-04-21) is version 1.4, while version 1.6 is required by RStudio 1.1.383... Installing it manually may break other R package dependencies in chain, and may also cause other problems in a reproducible science context.

Wouldn't it be better to stick with RStudio Server version that matches R/MRAN for the version on Docker hub? (yes, I am aware I can rebuild it with, say, RSTUDIO_VERSION=1.0.153, but I want to stick to rocker images as much as possible, with something that works on longer periods of time than what the RStudio release cycles currently permits, thanks)

Recommend rstudio build from tidyverse rather than the other way around.

I'm not sure if others would agree with me, but I don't really need to load all of RStudio and to have access to an RStudio environment in my containers. I do, however, use many of the packages in the tidyverse and it would be convenient to use a container that has all of the work to install those packages and their Linux dependencies for me.

tidyverse seems exactly designed for using R with those packages and their Linux dependencies, but it comes along with the baggage of RStudio (which I love locally but don't use remote, and certainly not in production). Since I can easily see a use for tidyverse sans RStudio, but I think it makes perfect sense to have tidyverse in place when using RStudio, I wonder if the dependencies should be reversed.

Unable to install packages from MRAN

I am currently unable to install packages without specifying the repository location:

$ docker run rocker/r-ver:3.4.2 install2.r codetools
Warning: unable to access index for repository https://mran.microsoft.com/snapshot/2017-10-31/src/contrib:
  Line starting '<!doctype html><html ...' is malformed!
Warning message:
package ‘codetools’ is not available (for R version 3.4.2) 

Looking at https://mran.microsoft.com I see that they actually link to https://cran.microsoft.com for actual package content. And indeed the following works:

$ docker run rocker/r-ver:3.4.2 install2.r -r https://cran.microsoft.com/snapshot/2017-10-31 codetools
trying URL 'https://cran.microsoft.com/snapshot/2017-10-31/src/contrib/codetools_0.2-15.tar.gz'
Content type 'application/octet-stream' length 12930 bytes (12 KB)
==================================================
downloaded 12 KB

* installing *source* package ‘codetools’ ...
** package ‘codetools’ successfully unpacked and MD5 sums checked
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (codetools)

The downloaded source packages are in
	‘/tmp/downloaded_packages’

dplyr version in rocker/verse

Hi,

With rocker/verse:3.4.0 I see that the dplyr version is 0.5.0, whereas it is 0.7.1 with :latest. Is there a frozen tag which has dplyr 0.7.1 installed?

Thanks,
Akhil

akhil@pc:~/docker/sparklyr-docker (master)$ docker run --rm -it rocker/verse:3.4.0 R

R version 3.4.0 (2017-04-21) -- "You Stupid Darkness"
Copyright (C) 2017 The R Foundation for Statistical Computing

...

Type 'q()' to quit R.

> installed.packages()[, "Version"]["dplyr"]
  dplyr 
"0.5.0" 
> 
akhil@pc:~/docker/sparklyr-docker (master)$ docker run --rm -it rocker/verse:latest R

R version 3.4.0 (2017-04-21) -- "You Stupid Darkness"
Copyright (C) 2017 The R Foundation for Statistical Computing

...

Type 'q()' to quit R.

> installed.packages()[, "Version"]["dplyr"]
  dplyr 
"0.7.1"

MRAN instead of CRAN repository?

I am wondering if MRAN is set as the default repository or how I can change this behaviour. A new rocker container seems to use MRAN... If not, why can this happen? I mounted a existing home directory to the container, could this be the problem?

> install.packages("packrat")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
trying URL 'https://mran.microsoft.com/snapshot/2017-08-18/src/contrib/packrat_0.4.8-1.tar.gz'
Content type 'application/octet-stream' length 113922 bytes (111 KB)

Consider cleaner RStudio defaults for handling history

Current default creates .Rhistory and always creates and loads .RData on exit / startup. For sake of reproducibility, tidy git repos, etc, I think we should turn these settings off in the 'global' config.

Looks like we can achieve this by editing ~/.rstudio/monitored/user-settings as follows:

  • alwaysSaveHistory="1" -> alwaysSaveHistory="0"
  • loadRData="1" -> loadRData="0"
  • saveAction="-1" -> saveAction="0"

(not sure if this file is created before startup, may have to do at runtime?)

Of course users can already set the global and project defaults from RStudio once they log in.

All images are based on R 3.3.3 only

Hi, I noticed that all Dockerfiles of r-ver are based on R 3.3.3 since you updated them 17 days ago.

That means that all corresponding images are based on the same release and rocker/versioned is not version-stable anymore. Is there a specific reason for that?

Here is what I just tried out on my PC:

rocker/r-ver:3.3.2

matthias@myhinz-e51-80:~$ docker run --rm -it rocker/r-ver:3.3.2
Unable to find image 'rocker/r-ver:3.3.2' locally
3.3.2: Pulling from rocker/r-ver
6d827a3ef358: Pull complete 
185fe413d37c: Pull complete 
Digest: sha256:57cd0c1692aaa9a755ad9875284a0c718522bae62fed97cc1918217be1935bb5
Status: Downloaded newer image for rocker/r-ver:3.3.2

R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 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.

> q()

rocker/r-ver:3.3.0

matthias@myhinz-e51-80:~$ docker run --rm -it rocker/r-ver:3.3.0
Unable to find image 'rocker/r-ver:3.3.0' locally
3.3.0: Pulling from rocker/r-ver
6d827a3ef358: Already exists 
eb49ed217b22: Pull complete 
Digest: sha256:8c59df4188d875163701f57cb199e31bd542080a7edadf45e08ac0944af2d093
Status: Downloaded newer image for rocker/r-ver:3.3.0

R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 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.

> q()

rocker/verse:3.3.1

matthias@myhinz-e51-80:~$ docker run --rm -it rocker/verse:3.3.1 R
Unable to find image 'rocker/verse:3.3.1' locally
3.3.1: Pulling from rocker/verse
6d827a3ef358: Already exists 
9ca9b1f0b4d4: Pull complete 
51940453c807: Pull complete 
44348556fc4f: Pull complete 
f31f6f6502bd: Pull complete 
ba273c985ba4: Pull complete 
Digest: sha256:5d2e3c6dbb855c049041db7079d4b7c3adcd890bfd2ef2ee988c3cc4c1e3a188
Status: Downloaded newer image for rocker/verse:3.3.1

R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 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.

> 

Not able to save changes "No such file or directory"

From time to time I have problems to save open files. I get the error "No such file or directory", then I have to copy all the changes into the clipboard, close the file, reopen it and then it works.

screen shot 2017-08-22 at 09 05 55

I also get some related errors in the console:

22 Aug 2017 06:16:11 [rsession-chris] ERROR system error 2 (No such file or directory); OCCURRED AT: rstudio::core::Error rstudio::session::source_database::get(const string&, boost::shared_ptr<rstudio::session::source_database::SourceDocument>) /home/ubuntu/rstudio/src/cpp/session/SessionSourceDatabase.cpp:570; LOGGED FROM: SEXPREC* rstudio::session::modules::r_packages::{anonymous}::rs_getKnitParamsForDocument(SEXP) /home/ubuntu/rstudio/src/cpp/session/modules/SessionRCompletions.cpp:456
22 Aug 2017 06:16:12 [rsession-chris] ERROR system error 2 (No such file or directory); OCCURRED AT: rstudio::core::Error rstudio::session::source_database::get(const string&, boost::shared_ptr<rstudio::session::source_database::SourceDocument>) /home/ubuntu/rstudio/src/cpp/session/SessionSourceDatabase.cpp:570; LOGGED FROM: SEXPREC* rstudio::session::modules::r_packages::{anonymous}::rs_getKnitParamsForDocument(SEXP) /home/ubuntu/rstudio/src/cpp/session/modules/SessionRCompletions.cpp:456

Version: rocker/verse:3.4.1

Reported image size does not match docker output

This may be a misunderstanding on my part but when I run

docker pull rocker/rstudio:latest

the downloaded image is 1.06 GB instead of the expected 328.4 MB. Am I using the wrong image or what could be taking up so much space in the rstudio image? I was hoping to find a rstudio image that has just the standard R installation (with Rstudio) included in order to keep the image size small.

rstudio image: not able to install package from source

I updated from version 3.3.3 to 3.4.1 and now I get a modal with the message when I try to install a new package using devtools. Calling the same command in the docker bash works.

building r package from source requires installation of additional build tools.

When I click ok it fails without an error message. I am using linux and the rocker image, so all those "additional build tools" should be already installed, right?

adduser

Shouldn't this be adduser rstudio shiny && \ ?

install.packages doesn't work with default settings with r-ver:3.1.0

It seems that the default repo uses MRAN. This stops even docopt working which some of the littler seem to rely on.

It seems I can simply use:
install.packages("docopt", repos = "http://cran.rstudio.com")

(not https for that R version!)

The default error message from R (no blame being apportioned here) simply says that the requested package is not available for R 3.1.0, which is not true in general, just true for the default MRAN repo.

I am not capable of quickly telling with MRAN is screwed up, whether the current behavior is intended (simulating a time warp, rather than simply an old version of R), or whether I have a local configuration problem. I did just pull the rocker/r-ver:3.1.0 image, so I think the latter is less likely.

Thanks for making this valuable image available. Many institutions seem stuck on ancient versions of R, and this is pretty much the only way I will be able to support them using my packages, and accurately write R >= 3.1.0 in my DESCRIPTION

no X11() in rstudio_stable ?

Hi,

I got here from the bioconductor docker, which is based upon rocker/rstudio, which seems to point here.

I realized that X11() was not enabled in the installed R, which makes sense in the context of rocker/rstudio, but less for a generic bioC docker.
rstudio_stable is based upon rocker/r-ver:xxxx, which also seems to lack X11 capability.

Questions:

  • is it expected / on purpose ?
  • is there any a posteriori way to add X11 capability ?

Thanks.

Container environment in RStudio

Currently if I set environment variables via docker run --environment ... these are not visible in RStudio. AFAIK one has to replace /bin/bash with /usr/bin/with-contenv bash in /etc/services.d/rstudio/run to change this. Anything speaking against such a change?

Installing packages that depend on r-base-core

With the versioned rocker images one is supposed to install all R packages via CRAN instead of apt. But how about installing other packages that depend on r-base-core? Things like apache2-mod-r-base or postgersql-9.6-plr might be useful to have in a docker image. One solution would be to install a r-base-core-dummy package build via equivs. Here a minimal equivs file:

# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2

Package: r-base-core-dummy
Version: 3.4.0
# Maintainer: Your Name <[email protected]>
# Pre-Depends: <comma-separated list of packages>
# Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
Provides: r-base-core
# Replaces: <comma-separated list of packages>
# Architecture: all
# Multi-Arch: <one of: foreign|same|allowed>
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
#  <more pairs, if there's more than one file to include. Notice the starting space>
Description: Dummy package for r-base-core
 Dummy package for r-base-core

Besides installing the package generated from this, I also had to call ldconfig /usr/local/lib/R/libin my tests. It would be great if something along these lines where integrated in the images.

RStudio initialization error: Error occurred during transmission

I am getting an error attempting to run the rstudio container:

$ docker run -d -p 8787:8787 rocker/rstudio:latest
c5fea7ee86078fe05a1460c68fd66a7907f2006edf31e30ed6866e86c1f04d53

When I open localhost:8787 in my browser (I've tried both Firefox and Safari) and enter in the credentials, I get the following error dialog:

Dialog box that is titled "RStudio initialization error" and shows the message "Error occurred during transmission" with an "OK" button

I don't know if it helps, but I get the following output from curl:

$ docker run -d -p 8787:8787 rocker/rstudio:latest; sleep 10
fbd57ff10c7be8b553fad381199c49defd520fc19af5d0f96b4eb714b562bcf3
$ curl --retry 10 --retry-delay 5 -v http://localhost:8787
* Rebuilt URL to: http://localhost:8787/
*   Trying ::1...
* Connected to localhost (::1) port 8787 (#0)
> GET / HTTP/1.1
> Host: localhost:8787
> User-Agent: curl/7.49.0
> Accept: */*
>
< HTTP/1.1 302 Moved Temporarily
< Content-Type: text/html
< Content-Length: 60
< Location: http://localhost:8787/unsupported_browser.htm
< Date: Mon, 09 Apr 2018 16:59:58 GMT
< Connection: close
< Server: RStudio
<
* Closing connection 0

RStudio terminal does not work

I start RStudio in docker container by command
docker run -d -p 8787:8787 rocker/tidyverse:latest
RStudio opens fine in the browser Firefox Developer Edition 60.0b12 (64-bit), but terminal does not seems to work. Terminal window is opening, but text enter is not possible. I tried to stop all extensions and add-ons with no effect.
I want to execute some git commands in the shell. It is not possible now.
I use Docker Version 18.03.0-ce-win59 (16762) Channel: stable d70d80d under windows 10 Pro.

Can't install R from Debian Snapshot Archive repositories

@eddelbuettel I took a quick look at installing the Debian Snapshot Archive binaries. It works just fine if I grab the specific .deb files from the Snapshot Archive (e.g. this dockerfile), but it sounds like I should just be able to add the Snapshot Archive repos into sources.list and have it handle the dependencies, etc. I have that a quick try here but no go, build tells me that it cannot find the dependencies. No idea why it's failing, but probably I've made some novice error in setting up the repos.

R drops down to 3.1.1 after installing R package with apt-get

With my Dockerfile:

https://github.com/dmenne/gastro-docker/blob/master/Dockerfile

I get R 3.4.0 with rocker/tidyverse:latest . When I add Shiny server (as stolen from your add_shiny.sh), the R version displayed by RStudio changes to 3.1.1.
From docker bash, the displayed R version is 3.4.0, so it seems to be a problem with RStudio using the wrong R version.

3.4.0 is in /usr/local/bin/R
Shiny servers installs 3.1.1 in /usr/bin/R, and RStudio uses this version. Other running packages correctly use 3.4,0; my packages require this version and run nicely.

... Simplified from https://github.com/rocker-org/rocker-versioned/blob/master/rstudio/add_shiny.sh

R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

How to get java into verse?

hadleyverse had java.

verse does not.

I tried to crib things from hadleyverse:

...
&& apt-get install -y --no-install-recommends default-jdk
&& . /etc/environment
&& install2.r -e -r $MRAN rJava
&& R CMD javareconf
...

There are errors (see below).

This seems non-trivial.

=====================

gcc -std=gnu99 -o libjri.so Rengine.o jri.o Rcallbacks.o Rinit.o globals.o rjava.o -shared -L/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server -ljvm -Wl,--export-dynamic -fopenmp -L/usr/local/lib/R/lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm -licuuc -licui18n
/usr/bin/ld: cannot find -licuuc
/usr/bin/ld: cannot find -licui18n
collect2: error: ld returned 1 exit status
Makefile.all:38: recipe for target 'libjri.so' failed
make[2]: *** [libjri.so] Error 1
make[2]: Leaving directory '/tmp/RtmpxTWDYk/R.INSTALLa2d7299c413/rJava/jri/src'
Makefile.all:21: recipe for target 'src/JRI.jar' failed
make[1]: *** [src/JRI.jar] Error 2
make[1]: Leaving directory '/tmp/RtmpxTWDYk/R.INSTALLa2d7299c413/rJava/jri'
Makevars:14: recipe for target 'jri' failed
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’

  • removing ‘/usr/local/lib/R/site-library/rJava’
    Error in install.packages(pkgs = f, lib = lib, repos = if (isMatchingFile(f)) NULL else rep, :
    installation of package ‘rJava’ had non-zero exit status

CMD statement in Dockerfile does not work

Hi,
I just wondered why R is not starting up when I execute, for instance, the following shell command:

docker run -i -t rocker/r-ver
(a debian shell shows up instead of R)

So I had had a look at the Dockerfiles of the r-ver folder and noticed a bug.

Have a look at
https://github.com/rocker-org/rocker-versioned/blob/master/r-ver/Dockerfile

The last 'RUN'-statement ends with a backslash \ in line 115. This means that the following CMD command is interpreted as part of the RUN statement and has no effect.

tlmgr restore fails

I have an issue trying to run tlmgr restore on rocker/verse:3.4.1. Any suggestions? Thank you.

Here are the particulars:

I get tlmgr backup to run with no apparent error with my script, "tlmgr_pkg":

#!/usr/bin/env bash
tlmgr update --self
tlmgr install microtype; tlmgr backup --backupdir ~/tl_backup microtype
tlmgr install euler; tlmgr backup --backupdir ~/tl_backup euler
tlmgr install merriweather; tlmgr backup --backupdir ~/tl_backup merriweather
# etc

I have a script, "tlmgr_restore"

#!/usr/bin/env bash
tlmgr update --self
tlmgr restore --backupdir ~/tl_backup --all

but, when I run this script, it fails and does not restore packages, e.g.:

Restoring abstract, 15878 from /home/rstudio/tl_backup/abstract.r15878.tar.xz
Use of uninitialized value $whatsize in concatenation (.) or string at /opt/TinyTeX/tlpkg/TeXLive/TLPDB.pm line 2057, <STDIN> line 1.
Use of uninitialized value $whatcheck in concatenation (.) or string at /opt/TinyTeX/tlpkg/TeXLive/TLPDB.pm line 2057, <STDIN> line 1.
TLUtils::check_file: neither checksum nor checksize available for /tmp/apDOqxh79Z/rfd5DTEGqe/abstract.r15878.tar.xz, cannot check integrity!
Restoring achemso, 46557 from /home/rstudio/tl_backup/achemso.r46557.tar.xz
Use of uninitialized value $whatsize in concatenation (.) or string at /opt/TinyTeX/tlpkg/TeXLive/TLPDB.pm line 2057, <TMP> line 20.
Use of uninitialized value $whatcheck in concatenation (.) or string at /opt/TinyTeX/tlpkg/TeXLive/TLPDB.pm line 2057, <TMP> line 20.
TLUtils::check_file: neither checksum nor checksize available for /tmp/apDOqxh79Z/BGugyzlsBw/achemso.r46557.tar.xz, cannot check integrity!

rocker/geospatial:3.4.0 images on dockerhub has rstudio v 1.0.x (?)

I am using rocker/geospatial:3.4.0. Howver, from https://github.com/rocker-org/rocker-versioned#images and comments in #53 it looks like this should pull from rocker/rstudio:latest, which I expect would have rstudio 1.1.383 . However the latest build of rocker/geospatial:3.4.0 (pulled 30 min ago) still has 1.0.x.

Assuming that I am correct and geospatial:3.4.0 should have rstudio v. 1.1.x,

Is it possible that DockerHub rebuilt this stack of images in the 'wrong' order so that the updated rstudio:latest did not propagate to geospatial:3.4.0 and similar downstream / dependent images? Or is there another reason that these still have the old rstudio?

Would it fix the issue if you rebuilt this stack (and if so, could you please do so)?

Otherwise, I can add the commands for installing rstudio to my downstream dockerfile (terraref/toolserver-dockerfiles#8) but would prefer not to.

shiny-server.log not created when using ADD=shiny

When executing

docker run -d -p 3838:3838 -p 8787:8787 -e ADD=shiny rocker/rstudio

as per https://hub.docker.com/r/rocker/rstudio-stable/

The docker container runs daemonized, with no stdout, but the system.d run script
at /etc/services.d/shiny-server/run does not pipe the stdout to the normal /var/log/shiny-server.log location. This means that all of the shiny server logs go into a black hole, and one cannot see them at all.

proposed solution:
change

echo '#!/bin/bash' > run && echo 'exec shiny-server' >> run && \

to

echo '#!/bin/bash' > run && echo 'exec shiny-server > /var/log/shiny-server.log' >> run && \

in the add_shiny.sh files.
Note that when running in non-daemonized mode that the current implementation displays output to the docker host command line, which is nice, but not as useful as running in daemonized mode.

Add more Label Schema metadata

Could add some more of Label Schema metadata conventions.

Current state has license, vcs-url, and vendor, see

LABEL org.label-schema.license="GPL-2.0" \

Candidates:

  • org.label-schema.url="https://www.rocker-project.org/"
  • org.label-schema.vcs-ref="279FA63" (could be done via build hook, and even help matching an instance to the respective Zenodo archive)
  • org.label-schema.usage="https://www.rocker-project.org/use/"
  • org.label-schema.version="1.2.3" (via build hook)
  • org.label-schema.schema-version="1.0"
  • org.label-schema.docker.cmd and docker.params
    • could be useful for rstudio images where there are relevant parameters to set and a port to expose, but certainly depends on the labels being more widespread

As a side note: Label Schema has been "absorbed" into OCI, see label-schema/label-schema.org#33 (comment), so at some point the labels might have to be changed a bit, see https://github.com/opencontainers/image-spec/blob/fc936c78346d017dcdbc6dd220a8ff60675ce3b5/annotations.md#back-compatibility-with-label-schema

SSH RSA key generation issue -- rocker-org/rstudio:3.4.3

When trying to create an SSH RSA key in RStudio ==> Global Options ==> Git/SVN I get an error "/bin/sh: 1: ssh-keygen: not found". I think it may be due to a recent update, as this behavior does not occur when using geospatial or ropensci docker images.

I additionally, checked the terminal and saw the same error.

remotes package not included but now required by littleR

The docker build for Rpopgen is failing in the installGithub.r step:

Step 10 : RUN installGithub.r     whitlock/OutFLANK && rm -rf /tmp/downloaded_packages/ /tmp/*.rds

 ---> Running in 1115b6111ecb

�Error in library(remotes) : there is no package called ‘remotes’

Apparently this is because the littleR package now uses remotes instead of devtools, and the tidyverse container (from which Rpopgen builds) doesn't include that. I'm wondering whether there's a plan to include it in the near future, or whether I need to include it myself.

Should only current/devel versions migrate to debian:stretch ?

Debian Stretch becomes debian stable (debian v9.0) later this month (6-17). Seems reasonable that future development move to debian:stretch based images instead of debian:jessie.

Current development strategy in this repo uses Makefiles to sync changes made to the base Dockerfile for each container (used for the latest tag) into the Dockerfiles for the specific versions. This was mostly for convenience during early development of those images; in general Dockerfiles will need to diverge between versions and cannot be sync'd. Also makes sense to avoid changing version-tagged Dockerfiles whenever possible anyway, now that we've established a stable pattern.

Still, it would be relatively straight-forward to get old versions building on Debian stretch, (particularly as this has already been implemented for the latest and devel images, see the stretch branch, which would give those old images the benefit of newer software (compilers etc) available on on stretch (and a longer window of security updates etc).

Looks like official images such as gcc have migrated the most recent versions to stretch while leaving older versions on jessie, so it is probably best we do likewise (prioritizing stability of older versions)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.