GithubHelp home page GithubHelp logo

Comments (10)

eitsupi avatar eitsupi commented on June 29, 2024 2

clearlinux/distribution#2361 (comment)
As this comment points out, this is most likely due to an older version of the Docker engine running the container.

I recommend that you follow the Docker documentation and install Docker CE (as distinguished from docker.io, which can be installed from the default apt repository).
https://docs.docker.com/engine/install/debian/

from rocker.

eddelbuettel avatar eddelbuettel commented on June 29, 2024 1

Ok, so let's agree that it is a non-issue then under current setups. (Unless proven otherwise, of course so feel free to reopen when you replicate under current settings.)

But as volunteers our resources and time are somewhat limited and do not stretch out infinitely to any release ever made.

from rocker.

eitsupi avatar eitsupi commented on June 29, 2024

I could not see that error in my environment (latest version of Docker Desktop, 20.10.13, build a224086), so perhaps this is a bug that will be fixed by an update of the Docker engine, as you mentioned in your post?
I was wondering if you have a particular reason for not being able to update the Docker engine on your Docker host.

I have to use r-base instead of r-vers as I need the most recent package versions and not the one at the last point an R version was most recent.

Note that this can simply be resolved by switching the factory-set repository.

https://www.rocker-project.org/use/extending/

FROM rocker/r-ver:4.1.2
RUN echo 'options(repos = c(CRAN = "https://cloud.r-project.org"))' >>"${R_HOME}/etc/Rprofile.site"

from rocker.

eddelbuettel avatar eddelbuettel commented on June 29, 2024

I am with @eitsupi here: it also does not fail for me, and I create quite a few derived containers off r-base and I have no issues either:

edd@rob:~$ docker run --rm -ti r-base bash
root@c1cfefc623d3:/# Rscript --version
R scripting front-end version 4.1.3 (2022-03-10)
root@c1cfefc623d3:/# Rscript -e 'print(Sys.getenv("R_HOME"))'
[1] "/usr/lib/R"
root@c1cfefc623d3:/# 

I don't see a course of action here, nor do I see an issue with r-base package set (for which I happen to the mainainer). The standard R invocation used before we enve to R CMD also works:

root@c1cfefc623d3:/# R RHOME
/usr/lib/R
root@c1cfefc623d3:/# 

So so far I see neither I reason to change things going forward and neither to go and retro-fit (which we are unlikely to do for reproducibility reasons). You would have to convince us more strongly that this is generic shortcoming in the container as opposed to a local issue at your end. Also note that the same (base) container (and lots of derived containers) are happily used in many CI setups by different users.

from rocker.

bockthom avatar bockthom commented on June 29, 2024

Thanks for your fast replies!

I could not see that error in my environment (latest version of Docker Desktop, 20.10.13, build a224086), so perhaps this is a bug that will be fixed by an update of the Docker engine, as you mentioned in your post?

I am not sure about that. To me it sounds that this bug affects not really the docker engine but the resulting container at the point of creating a container. So, it sounds like that the r-base container needs to be recreated for the bug to disappear. But, to be honest, I am not into the details of docker, I just stumbled over the bug reports while searching for causes and solutions for the problem.

I was wondering if you have a particular reason for not being able to update the Docker engine on your Docker host.

I don't have a docker host and a docker engine. I just have a drone CI pipeline that runs in a cloud. So, I just specify which docker container and which architecture to use and which tasks and tests should be performed inside the given docker container within the CI pipeline. So I can only debug what's going on inside the docker r-base container (and also not interactively), but I cannot configure how the container is started etc. So I think this problem might be rather related to how the container was created than which docker engine finally runs the container. But again, this was just a guess and I actually don't know.

I have to use r-base instead of r-vers as I need the most recent package versions and not the one at the last point an R version was most recent.

Note that this can simply be resolved by switching the factory-set repository.

https://www.rocker-project.org/use/extending/

FROM rocker/r-ver:4.1.2
RUN echo 'options(repos = c(CRAN = "https://cloud.r-project.org"))' >>"${R_HOME}/etc/Rprofile.site"

Ah this is interesting, I wasn't aware of that. I tried this and it seems to work. So, this does not solve the actual problem, but it looks like a good workaround for now. Thanks for the suggestion.

from rocker.

eitsupi avatar eitsupi commented on June 29, 2024

I don't have a docker host and a docker engine. I just have a drone CI pipeline that runs in a cloud. So, I just specify which docker container and which architecture to use and which tasks and tests should be performed inside the given docker container within the CI pipeline. So I can only debug what's going on inside the docker r-base container (and also not interactively), but I cannot configure how the container is started etc. So I think this problem might be rather related to how the container was created than which docker engine finally runs the container. But again, this was just a guess and I actually don't know.

Docker 20.10.0 was released over a year ago. https://docs.docker.com/engine/release-notes/#20100
Therefore, it is unlikely that an older version was used to build r-base:4.1.2.

Is it possible that Drone CI is configured with Docker outside of Docker and the version of that Docker engine is out of date?
https://docs.drone.io/runner/docker/installation/linux/

from rocker.

mpettis avatar mpettis commented on June 29, 2024

I am getting this error as well, though I can see that /usr/lib/R does exist, contrary to the message:

image

Though after reading, it might be from running a much older version of docker (Docker version 19.03.2, build 6a30dfc). I am totally on a headless machine, recommendations for upgrades that would run this are welcome (I only use this currently to run R stuff for the most part).

from rocker.

eddelbuettel avatar eddelbuettel commented on June 29, 2024

I don't see that:

edd@rob:~$ docker run --rm -ti r-base:4.1.3 Rscript -e 'Sys.getenv()' | grep R_HOME
R_HOME                  /usr/lib/R
edd@rob:~$ docker run --rm -ti r-base:4.1.2 Rscript -e 'Sys.getenv()' | grep R_HOME
R_HOME                  /usr/lib/R
edd@rob:~$ docker run --rm -ti rocker/r-base:latest Rscript -e 'Sys.getenv()' | grep R_HOME
R_HOME                  /usr/lib/R
edd@rob:~$ 

from rocker.

eddelbuettel avatar eddelbuettel commented on June 29, 2024

Can you share briefly what your host OS and version are? I am on Ubuntu 22.04.

from rocker.

mpettis avatar mpettis commented on June 29, 2024

Yes, and thanks. Admittedly, it is very old, and I am trying to get things migrated to an updated OS and docker versions. So I could see this all being closed with, "the OS and docker version are too old" and I have to upgrade...

[mpettis@ip-10-0-200-174 ~]$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:        16.04
Codename:       xenial
[mpettis@ip-10-0-200-174 ~]$ docker --version
Docker version 19.03.2, build 6a30dfc

from rocker.

Related Issues (20)

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.