[R-sig-Debian] Update on docker Python:3 and adding R:4.x

Dave Lange umbre||@hou@e @end|ng |rom gm@||@com
Thu Jun 25 04:52:37 CEST 2020


My dockerfile:

FROM python:3

WORKDIR /usr/src/app

COPY requirements.txt ./
COPY languageserver-master ./
COPY radian-master ./
RUN pip3 install --no-cache-dir -r requirements.txt

EXPOSE 8080

RUN apt-key adv --keyserver keys.gnupg.net --recv-key
'E19F5F87128899B192B1A2C2AD5F960A256A04AF'
RUN echo "deb http://cloud.r-project.org/bin/linux/debian buster-cran40/"
>> /etc/apt/sources.list

RUN apt update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
wget \
&& rm -rf /var/lib/apt/lists/*

## Now install R
## RUN apt install -t buster-cran40 r-base

## CMD ["R"]
CMD python

On Wed, Jun 24, 2020 at 4:38 PM Dirk Eddelbuettel <edd using debian.org> wrote:

>
> On 24 June 2020 at 15:15, Dave Lange wrote:
> |  I continue to receive an error installing R via dockerfile on a buster
> | image python:3.
> | E: The value 'buster-cran40' is invalid for APT::Default-Release as such
> a
> | release is not available in the sources
>
> Do you have the Dockerfile in public repo we can look at?
>
> | My starting point is the debian buster based Python:3 image adding a
> couple
>
> This is an R list so please tell us more about Python:3. What it is based
> on?
>
> Hypothetically, could you just start from debian:buster, add python3 and
> then
> add the buster-cran40 repo by Johannes?
>
> | of python specific configurations and then using the commands in the R
> | project documentation for installing R on Buster. I got slightly
> different
> | answers when I used apt versus apt-get. There were warnings about
> | unverified sources solved by a reference to the certificate key.
>
> You generally must install a key to validate a repository. This could even
> be
> your error.
>
> In any event, this is all "academic". Maybe bring us the famous "MCVE": a
> minimally complete verifiable example. Otherwise we have simply no idea
> what
> you may be doing.
>
> | It turns out building the python container and commenting the R commands
> | out allowed me to manually step through my dockerfile lines. Its
> repeatable
> | that the R install fails with the error above when in the dockerfile.
> | Running the commands manually allows the installation to finish
> | successfully.  I sense that docker is multithreaded and hits the "use
> | buster-cran40" before it defines buster-cran40. Manually stepping through
>
> I doubt that. Docker is very carefully "layered". Each RUN command results
> in
> one layer on filesystem. You can build them one by one. There is no
> concurrency as each subsequent RUN needs / depends upon previous ones.
>
> | the commands keeps the preferred order. At this point I'm happy with a
> | repeatable process.
> |
> | It sounds like I have been re-inventing the wheel, which has been
> | educational for me. If someone wants to change my starting point to
> | something that already has stable/latest production for debian, Python3
> and
> | R4 and will be updated for the future I would appreciate the head start.
>
> Should be easy. Look at the variety of Dockerfiles is maintain inside the
> Rocker Project -- while most are based on Debian's testing release you can
> still look at them (though note that some are also Ubuntu based)
>
> You could start at  https://github.com/rocker-org/rocker  but also look at
> other repositories in the same org at GH.
>
> Dirk
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
>

	[[alternative HTML version deleted]]



More information about the R-SIG-Debian mailing list